我想把数据库中table1表a字段读到数组aa里
由于记录的数量不一定,所以我是先算出数量,再赋值的
但是要读2次表,有没有更简单的方法?代码如下:
————————————————————————————————————
//求数量
int i=0;
myConnection.Open();
SqlCommand mycom1 = new SqlCommand("select a from table1",myConnection);
SqlDataReader myreader1 = mycom1.ExecuteReader();
while(myreader1.Read())
{
i++;
}
myreader1.Close();
//定义数组
string[] aa=new string[i];
//赋值
i=0;
SqlCommand mycom2 = new SqlCommand("select a from table1",myConnection);
SqlDataReader myreader2 = mycom2.ExecuteReader();
while(myreader2.Read())
{
aa[i] = myreader2["a"].ToString().Trim();
i++;
}
myreader2.Close();

解决方案 »

  1.   

    System.Collections .ArrayList Arr=new ArrayList ();
    Arr.Add (a);
    Arr.Add (b);
    Arr.Add (c);
      

  2.   

    1.当第一次打开连接后,可以不用断开连接;
    2.可以使用DataSet,通过myData.Tables[0].Rows.Count;来确定记录数;
    3.将第一个连接的sql语句改为:mycom1 = new SqlCommand("select Count(a) from table1",myConnection);这样也可以直接得到记录数了,可以省去一下一段代码:
    SqlDataReader myreader1 = mycom1.ExecuteReader();
    while(myreader1.Read())
    {
    i++;
    }
    myreader1.Close();