首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

索引超出了数组界限!——在线急等!解决方法

2012-04-03 
索引超出了数组界限!——在线急等!!!sql1 select mymoney from item_1 where name like % + item_name.

索引超出了数组界限!——在线急等!!!
sql1 = "select mymoney from item_1 where name like '%" + item_name.Text + "%'and mydate>='" + year1 + "' and mydate<='" + year2 + "'order by mydate ";
DataTable dt = DB.GetDataTable(sql1);
for (int i = Convert.ToInt32(year1); i < Convert.ToInt32(year2); i++)
  {
  name1 += i.ToString() + "\t";
  }
  name1 += year2;
   
   
  string[] m = new string[dt.Rows.Count];
  for (int p = 0; p < dt.Rows.Count; p++)
  {
   
  m[p] = dt.Rows[p]["mymoney"].ToString();
  }
  for (int p = 0; p < dt.Rows.Count - 1; p++)
  {
   
  name2 += m[p] + "\t";
  }
   
  name2 += m[dt.Rows.Count - 1];//此处出现索引超出了数组界限
  sCategorys = name1;
  sValues = name2;
  name1 = "";
  name2 = "";

[解决办法]
dt.Rows.Count 如果返回是0行
m[dt.Rows.Count - 1] 这成了 m[-1] 就出界了
[解决办法]
加个判断

if (dt.Rows.Count > 0)
{
// 处理
}
else
{
// 这可处理,也可不要 else { }
}

热点排行