已有打开的与此连接相关联的 DataReader,必须首先将它关闭,请问各位如何解决啊?
寻求帮助:请问这是怎么回事?
打开一个数据库中主表(table1)——从表(table2)的程序如下:
OleDbCommand cmd;
OleDbDataReader dr;
OleDbCommand cmd2;
OleDbDataReader dr2;
cmd=new OleDbCommand("select * from table1",cn);
dr=cmd.ExecuteReader();
while(dr.Read())
{
cmd2=new OleDbCommand("select * from table2 where blockid=" +
dr.GetInt32(0) +";",cn);
//程序总是在这里出错,错误信息如下:
//已有打开的与此连接相关联的DataReader,必须首先将它关闭
dr2=cmd2.ExecuteReader();
while(dr2.Read())
{
//代码略...
}
dr2.Close();
dr2=null;
cmd2.Dispose();
cmd2=null;
}
dr.Close();
dr=null;
cmd.Dispose();
cmd=null;
cn.Dispose();
cn=null
感觉好象DataReader在同一时间只能打开一个???
谁能说说这是怎么回事?谢谢先!