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

关于foreach和动态数组的有关问题

2012-02-12 
关于foreach和动态数组的问题//这个方法通过等级查询出数据,返回表格public DataTable getDS(){String str

关于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)             { 

热点排行