c# 操作类的问题返回 MySqlDataReader对象报错怎么解决?

MySqlClass操作类://运行MySql语句返回MySqlDataReader对象publicstaticMySqlDataReaderGet_Reader(str... MySqlClass 操作类:
// 运行MySql语句返回 MySqlDataReader对象
public static MySqlDataReader Get_Reader(string SQL, string ConnStr)
{
MySqlConnection Conn = Open_Conn(ConnStr);
MySqlCommand Cmd = Create_Cmd(SQL, Conn);
MySqlDataReader Dr;
try
{
Dr = Cmd.ExecuteReader(CommandBehavior.Default);
}
catch
{
throw new Exception(SQL);
}
Close_Conn(Conn);
return Dr;
}

引用操作类:
string Sqlstr = "select * from admin where id =198161296";
string Sqlstr2 = "select * from admin where id =198161296";
string zhi = MySqlClass.Get_Reader(Sqlstr, MySqlClass.ConnStr).GetValue(0).ToString();
string zhi2 = MySqlClass.Get_Reader(Sqlstr2, MySqlClass.ConnStr).GetString(0) ;
MessageBox.Show(zhi);//报错 :No current query in data reader
MessageBox.Show(zhi2); //报错:未将对象引用设置到对象的实例。

操作类里面其他都正常 就这一个 返回 MySqlDataReader对象不正常~~~求解~~
展开
 我来答
百度网友b7d2b2f
2013-03-29 · TA获得超过901个赞
知道小有建树答主
回答量:994
采纳率:50%
帮助的人:580万
展开全部
你已经把连接关闭了,再在外部用MySqlDataReader,当然不行了。关闭连接的时候MySqlDataReader已经没有数据了,要不dataset和datatable干吗用啊。

你可以试试,把Close_Conn(Conn);注释掉,就没错了。当然这样做是不对的。
解决方法:别返回MySqlDataReader,返回dataset或datatable
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式