String sql = "SELECT * from mybrknElements; ";
String sql2 = "";
String sWord = "" ;
String sNum = "" ;
int nWords = 0;
cnn.Close();
cnn.Open();
SqlCommand command = new SqlCommand(sql, cnn);
cnn2.Close();
cnn2.Open();
SqlDataReader drb;
drb = command.ExecuteReader();
while (drb.Read())
{
sNum = drb["ID"].ToString();
sWord = drb["Element"].ToString();
MessageBox.Show("OUTER loooop sNum = " + sNum + " sWord = " + sWord);
sql2 = "SELECT * from mybrknElements2; ";
String sWord2 = "" ;
String sNum2 = "";
SqlCommand command22 = new SqlCommand(sql2, cnn2);
SqlDataReader drcc;
drcc = command22.ExecuteReader(); //ERROR comes up after this line
while (drcc.Read())
{
sNum2 = drcc["ID"].ToString();
sWord2 = drcc["Element"].ToString();
if (Equals(sWord2,sWord2))
{
nWords = nWords + 1;
MessageBox.Show("sNum2 = " + sNum2 + " sWord2 = " + sWord2);
}
}
//---check occurances--------------
}
以上是我的代码:我已经使用2个SqlDataReaders,一个内其他 我得到的错误在while循环 结束:已经有一个打开的DataReader与此命令相关联,必须先关闭C#:已经有与此命令相关联的打开的DataReader,必须先关闭
有人可以帮忙吗? 谢谢。
不相关的错误,但你的意思是让'if(Equals(sWord2,sWord2))'?我想你会想'if(Equals(sWord1,sWord2))' – Michael
同时你只能打开1个DataReader –
你不能在一个连接上有多于一个打开的数据读取器。 –