111,119
社区成员
发帖
与我相关
我的任务
分享
private ArrayList FormatDataReader(SqlDataReader datareader)
{
string readString = "";
int i=0;
string[] sql = new string[1000000];//用来存储生成的sql语句
while (datareader.Read())
{
sql[i++] = @"select distinct(mirbase.dbo.chr1.rs#) from mirbase.dbo.chr1
where mirbase.dbo.chr1.pos between "+datareader[5].ToString()+" and "+datareader[6].ToString();//此处生成n条sql语句,下面执行这n条sql语句 将其返回值给textbox2.text
}
SqlConnection myConnection = new SqlConnection(SQLCONNECTIONSTRING);
int k = 0;
while(sql[k]!=null)//此处循环1000次
{
SqlCommand myCommand = new SqlCommand(sql[k], myConnection);
myConnection.Open();
SqlDataReader dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);//经测试就是 一千次打开关闭数据库慢,数据库表做了索引应该速度可以
while (dr.Read())
{
for (int j = 0; j < dr.FieldCount; j++)//显示所有列
readString += dr[j].ToString() + "\t";
readString += "\r\n";
}
TextBox2.Text += readString;
dr.Close();
k++;
}
myConnection.Close();
datareader.Close();
return (null);
}