初级问题

Meditate 2002-12-09 04:44:00
public int Login(string MobileNumber ,string Password)
{
try
{
System.Data.SqlClient.SqlDataReader dr;
SqlCommand cmd=new SqlCommand ();
cmd.CommandText ="Select ScrapID, Password,Status from p_scrap where mobilenumber='" + MobileNumber + "'";
cmd.Connection =DBConn.Connection;
dr=cmd.ExecuteReader ();
try
{
if (dr.Read())
{
if (!Convert.ToBoolean(dr["Status"]))
{
throw new UserAccountExpiredException("账户已注销,请激活账户!");
}
if (dr["Password"].ToString()==Password)
{
return Convert.ToInt32(dr["ScrapID"]);
}
}
else
throw new UserNotRegisterException("用户尚未注册");
}
catch(ApplicationException e)
{
throw e;
}
catch(Exception e)
{
throw new ApplicationException("系统错误:\n"+e.Message );
}
finally
{
dr.Close();

}

}
catch(SqlException e)
{

throw new ApplicationException("系统错误:\n"+e.Message );

}
catch(ApplicationException e)
{
throw e;

}
catch
{

throw new ApplicationException("系统错误!");

}

}

编译时说此方法没有返回值。我看不出该在哪里添加,请高手指教!
...全文
44 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Meditate 2002-12-09
  • 打赏
  • 举报
回复
呵呵~,是我粗心,应该在if不成立的时候引发一个错误:)
echevil 2002-12-09
  • 打赏
  • 举报
回复
你只在if语句里写了return ...
当if条件不成立时就没有返回值了。
需要保证程序始终有返回值,否则无法通过编译
echevil 2002-12-09
  • 打赏
  • 举报
回复
你只在if语句里写了return ...
当if条件不成立时就没有返回值了。
需要保证程序始终有返回值,否则无法通过编译

110,533

社区成员

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

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

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