我想把数据库中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();
由于记录的数量不一定,所以我是先算出数量,再赋值的
但是要读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();
Arr.Add (a);
Arr.Add (b);
Arr.Add (c);
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();