
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(); 展开
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(); 展开
2个回答
展开全部
数组定义时必需定义长度才可以用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]这样取值。
如
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]这样取值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询