SqlDataReader类型赋值,SqlDataReader的两个实例readerA、readerB,如何将readerA的值赋给另一个readerB?
我遇到的情况是这样的:一个函数A()返回值类型为SqlDataReader,我在另一个函数B()里调用函数A():SqlDataReader A()
{
conn.Open();
SqlCommand cmd = new SqlCommand(strSql, conn);
SqlDataReader reader = cmd.ExecuteReader();
conn.Close();
return reader;
}
void B()
{
SqlDataReader reader=A();
while (reader.Read()) //这里抛出异常:“阅读器关闭时Read的尝试无效。”
{}
}请教各位,有什么办法可以解决这个问题?
我遇到的情况是这样的:一个函数A()返回值类型为SqlDataReader,我在另一个函数B()里调用函数A():SqlDataReader A()
{
conn.Open();
SqlCommand cmd = new SqlCommand(strSql, conn);
SqlDataReader reader = cmd.ExecuteReader();
conn.Close();
return reader;
}
void B()
{
SqlDataReader reader=A();
while (reader.Read()) //这里抛出异常:“阅读器关闭时Read的尝试无效。”
{}
}请教各位,有什么办法可以解决这个问题?
{
conn.Open();
SqlCommand cmd = new SqlCommand(strSql, conn);
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
void B()
{
SqlDataReader reader=A();
while (reader.Read()) //这里抛出异常:“阅读器关闭时Read的尝试无效。”
{}
reader.Close();
}
SqlDataReader A()
{
conn.Open();
SqlCommand cmd = new SqlCommand(strSql, conn);
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
void B()
{
SqlDataReader reader=A();
while (reader.Read()) //这里抛出异常:“阅读器关闭时Read的尝试无效。”
{}
reader.Close();
}
在执行该命令时,如果关闭关联的 DataReader 对象,则关联的 Connection 对象也将关闭
这样你关闭dataReader是conn也就跟着关闭了
转自:http://www.wearelearn.net/asp_net.html