日期:2014-05-18  浏览次数:20932 次

并非所有的路径都返回值
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 ) 并非所有的路径都返回值

------解决方案--------------------
如果在try语句块执行的过程中,还没到达return objSqlDataReader的时候发生异常,那你的函数是没有返回值的。
------解决方案--------------------
将return objSqlDataReader; 放到finally 后面
------解决方案--------------------
返回这样的DataReader有用处吗?
------解决方案--------------------
按照一般的理解,如果程序出现异常那么返回值已经没什么意思,所以在最后加一句:return null; 就行了。
------解决方案--------------------
探讨
将return objSqlDataReader; 放到finally 后面