ds.Tables["list"].Rows[i]["id"].ToString(); i值错误。
SearchRows = ds.Tables["zplist"].Rows.Count;for (i = 0; i <= SearchRows; i++)
{
cID = ds.Tables["list"].Rows[i]["id"].ToString();
cBgndate = ((DateTime)ds.Tables["list"].Rows[i]["dBgndate"]).ToString("yyyy-mm-dd");
cEnddate = ((DateTime)ds.Tables["list"].Rows[i]["dEnddate"]).ToString("yyyy-mm-dd");
cDropDownListString = cID + " | " + cBgndate + " | " + cEnddate;
ddl_list.Items.Add(cDropDownListString);
}
如上述代码,如果SearchRows有 5 行.直接在Rows[]这里填上i,系统会报错。请问此种问题应该怎么处理,多谢。 --------------------编程问答-------------------- 估计报错是:超出数组上限。
在计算机语言中,大部分都是这么计数的0,1,2,3。也就是说第4个数是3. --------------------编程问答-------------------- 小弟疏乎了,多谢了.万分感谢. --------------------编程问答-------------------- i <= SearchRows
把 = 去掉 --------------------编程问答-------------------- SearchRows 是 个数,但数据下标是从0开始,如果有5个,Rows[5]的时候就越界了 --------------------编程问答-------------------- 学习了
跟数组一个道理 --------------------编程问答-------------------- 试试下面写法:
foreach (DataRow dr in ds.Tables["zplist"].Rows)
{
cID = dr["id"].ToString();
cBgndate = string.Format("{0:yyyy-MM-dd}", dr["dBgndate"].ToString());
cEnddate = string.Format("{0:yyyy-MM-dd}", dr["dEnddate"].ToString());
}
--------------------编程问答-------------------- 楼上的几乎都讲到答案了 --------------------编程问答-------------------- 用foreach会比较好点
补充:.NET技术 , ASP.NET