关于foreach和动态数组的问题
//这个方法通过等级查询出数据,返回表格
public DataTable getDS()
{
String strSql = "select * from land where level between 1 and 10";
DataSet ds = new DataSet();
SqlCommand scom = new SqlCommand(strSql, Dbhelper.Connection);
SqlDataAdapter sda = new SqlDataAdapter(scom);
sda.Fill(ds);
return ds.Tables[0];
}
//在这个事件内 调用
protected void Page_Load(object sender, EventArgs e)
{
ArrayList listone = new ArrayList();
ShowUser su=new ShowUser();
DataTable dt = su.getDS();
foreach (DataRow dr in dt.Rows)
{
int i = 1;
listone[i] = Convert.ToInt32(dr["level"]);
i++;
}
}
我想查询出来的数据保存在一个动态数组里面
但是由于基础不好
语句写错了! 请高人指点一下代码应该怎么改正
vs出错提示是 :
索引超出范围。必须为非负值并小于集合大小。
参数名: index
------解决方案-------------------- foreach (DataRow dr in dt.Rows)
{
listone.add( Convert.ToInt32(dr["level"]));
}
------解决方案--------------------protected void Page_Load(object sender, EventArgs e)
{
ArrayList listone = new ArrayList();
ShowUser su=new ShowUser();
DataTable dt = su.getDS();
int i=0;
foreach (DataRow dr in dt.Rows)
{
listone[i] = Convert.ToInt32(dr["level"]);
i++;
}
}
------解决方案--------------------C# code
protected void Page_Load(object sender, EventArgs e)
{
ArrayList listone = new ArrayList();
ShowUser su=new ShowUser();
DataTable dt = su.getDS();
foreach (DataRow dr in dt.Rows)
{