ASP.NET索引超出了数组界限,大家帮我看看怎么了,要如何解决?

我的目的是把一张表中符合条件的记录中的某几个字段取出来放在数组中,但是老是报错“索引超出了数组界限”,大家帮我看看怎么了怎么解决谢谢啊~cmd.CommandText="... 我的目的是把一张表中符合条件的记录中的某几个字段取出来放在数组中,但是老是报错“索引超出了数组界限”,大家帮我看看怎么了 怎么解决 谢谢啊~
cmd.CommandText = "select [MNO],[MNAME],[COUNT],[PRICE] from [Foodbasket] where [UID]='" + uid + "'";
dr = cmd.ExecuteReader();
if (dr.Read())
{
for (n = 0, k = 0; dr[n].ToString() != ""; k++)
{
mno[k] = Convert.ToInt32(dr[n]);
mname[k] = dr[n + 1].ToString();
count[k] = Convert.ToInt32(dr[n + 2]);
price[k] = float.Parse(dr[n + 3].ToString());
}
}
else
Response.Write("<script language='javascript'>alert('餐篮中没有菜品!');</script>");
dr.Close();
conn.Close();
展开
 我来答
winteralice
2011-04-15 · TA获得超过130个赞
知道答主
回答量:86
采纳率:0%
帮助的人:0
展开全部
数组定义时必需定义长度才可以用mno[k]赋值。

int[] mno = int[4];
mno[0] = Convert.ToInt32(dr[n]);
明显示你的程序定义时只写int[] mno;
如果你不确定数组的长度,那就只能用别的方法了。
如用泛型List<int> mno = new List<int>();
这样就可以自由添加:mno.Add(Convert.ToInt32(dr[n]));
注意,是用Add添加而不是mno[k];
之后的使用可以和数组一样用mno[k]这样取值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gowflw
2011-04-16 · 超过17用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:38.3万
展开全部
用泛型集合 List<T>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式