并非所有的路径都返回值

tjzero_sapce 2008-07-17 10:33:13
public SqlDataReader GetDataSetByStr(string str)
{
try
{
objSqlCon.Open();
objSqlCom = new SqlCommand(str, objSqlCon);
objSqlCom.CommandType = CommandType.Text;
objSqlDataReader = objSqlCom.ExecuteReader();
return objSqlDataReader;
}catch (Exception e2)
{
Console.WriteLine(e2.Message);
}
finally
{
if (objSqlCon != null)
{
objSqlCon.Close();
}
}
}


错误提示:BookManage。DataAccess.GetDataSetByStr(string ) 并非所有的路径都返回值
...全文
96 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjzero_sapce 2008-07-17
  • 打赏
  • 举报
回复
我上面的程序有个很大的bug~~~~,不应该有finally,关闭了数据库,在调用该方法的窗体代码中就无法获取数据了~~~~
suyiming 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wf5360308 的回复:]
将return objSqlDataReader; 放到finally 后面
[/Quote]
yangyinzhu 2008-07-17
  • 打赏
  • 举报
回复
public SqlDataReader GetDataSetByStr(string str)
{
try
{
objSqlCon.Open();
objSqlCom = new SqlCommand(str, objSqlCon);
objSqlCom.CommandType = CommandType.Text;
objSqlDataReader = objSqlCom.ExecuteReader();
}catch (Exception e2)
{
Console.WriteLine(e2.Message);
}
finally
{
if (objSqlCon != null)
{
objSqlCon.Close();
}
return objSqlDataReader;
}
}


*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

http://feiyun0112.cnblogs.com/
frankworld 2008-07-17
  • 打赏
  • 举报
回复
按照一般的理解,如果程序出现异常那么返回值已经没什么意思,所以在最后加一句:return null; 就行了。
yangyinzhu 2008-07-17
  • 打赏
  • 举报
回复
public SqlDataReader GetDataSetByStr(string str)
{
try
{
objSqlCon.Open();
objSqlCom = new SqlCommand(str, objSqlCon);
objSqlCom.CommandType = CommandType.Text;
objSqlDataReader = objSqlCom.ExecuteReader();
}catch (Exception e2)
{
Console.WriteLine(e2.Message);
}
finally
{
if (objSqlCon != null)
{
objSqlCon.Close();
}
return objSqlDataReader;
}
}


*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

http://feiyun0112.cnblogs.com/
lijavasy 2008-07-17
  • 打赏
  • 举报
回复
返回这样的DataReader有用处吗?
冷月孤峰 2008-07-17
  • 打赏
  • 举报
回复
将return objSqlDataReader; 放到finally 后面
TeaBall 2008-07-17
  • 打赏
  • 举报
回复
如果在try语句块执行的过程中,还没到达return objSqlDataReader的时候发生异常,那你的函数是没有返回值的。

110,538

社区成员

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

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

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