刚做C#的项目,在数据库模块中关闭SqlDataReader问题,在线!!!

godblessyU 2003-10-21 10:54:31
public static SqlDataReader GetMyDataReader(string strSQL)
{
SqlCommand objCommand = new SqlCommand(strSQL,objConnection);
SqlDataReader objReader;
try
{
objReader = objCommand.ExecuteReader();
return objReader;
}
catch(System.Exception exp)
{
throw new Exception(exp.Message);
}

}
========================================================================
我在form中有个按钮,第一次点击好用,但因为第一次用完没关闭,所以再点击按钮就报错,如何解决
...全文
49 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
nxct 2003-10-21
  • 打赏
  • 举报
回复
try
{
objReader = objCommand.ExecuteReader();
return objReader;
}
catch(System.Exception exp)
{
throw new Exception(exp.Message);
}
finally //在这里不管有没有异常,都会执行,参见 msdn
{
SqlDataReader.Close();
}
downsome 2003-10-21
  • 打赏
  • 举报
回复
用dataSet
godblessyU 2003-10-21
  • 打赏
  • 举报
回复
在线啊
godblessyU 2003-10-21
  • 打赏
  • 举报
回复
在try中不能加,因为return后就不执行,在catch里加也不行,因为当执行catch里的代码时,此次点击没做出反应,有没有高手啊???就在我原程序中改
PlayIrrrr 2003-10-21
  • 打赏
  • 举报
回复
在函数中catch里,
if (objReader != null)
objReader.Close();

在函数外某个reader.

reader.Close();
liupeng1981 2003-10-21
  • 打赏
  • 举报
回复
SqlDataReader用完后
在try块中加就行了
godblessyU 2003-10-21
  • 打赏
  • 举报
回复
我知道SqlDataReader.Close();
但是我不知道在什么地方加SqlDataReader.Close();
chenqinzeng 2003-10-21
  • 打赏
  • 举报
回复
SqlDataReader.Close();
有空多看看CSDN的帮助,哪个很好的,
Sniper 2003-10-21
  • 打赏
  • 举报
回复
把SqlDataReader用完关掉呀。
SqlDataReader.Close();
asp_net 2003-10-21
  • 打赏
  • 举报
回复
public static SqlDataReader GetMyDataReader(string strSQL)
{
SqlCommand objCommand = new SqlCommand(strSQL,objConnection);
SqlDataReader objReader;
try
{
if(ojbReader.IsClosed==false) //加这里
objReader.Close();
objReader = objCommand.ExecuteReader();
return objReader;
}
catch(System.Exception exp)
{
throw new Exception(exp.Message);
}

}
michaelowenii 2003-10-21
  • 打赏
  • 举报
回复
确实要:SqlDataReader.Close();
当然不是在try{}中,因为你要return objReader。就要在用完了sqlDataReader 后调用。

Sniper 2003-10-21
  • 打赏
  • 举报
回复
楼上的解决有问题。

楼主是要把objReader传出去用的,不能直接调用Close(),而要在用完后关掉。
大致应该是:
SqlDataReader myReader = GetMyDataReader(……);
……用myReader操作数据……
myReader.Close();

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧