并非所有的代码路径都返回值.程序应该怎么改?

懦芞 2009-07-16 05:53:55

public int CheckUser()
{
if (this.tbxUserName.Text == "")
{
MessageBox.Show("用户名不能为空!", "错误");
}
else if (this.tbxPassWord.Text == "")
{
MessageBox.Show("密码不能为空!", "错误");
}
else
{
string str = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection conn = new SqlConnection(str);
SqlCommand cmd = new SqlCommand("Login", conn);

cmd.CommandType = CommandType.StoredProcedure;
SqlParameter UserName = new SqlParameter("@username", SqlDbType.VarChar, 50);
UserName.Value = this.tbxUserName.Text;
cmd.Parameters.Add(UserName);

SqlParameter PassWord = new SqlParameter("@pwd", SqlDbType.VarChar, 50);
UserName.Value = this.tbxPassWord.Text;
cmd.Parameters.Add(PassWord);

SqlParameter sp = new SqlParameter("@return", SqlDbType.Int, 4);

sp.Direction = ParameterDirection.Output;
cmd.Parameters.Add(sp);

try
{
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
int n = (int)(sp.Value);
return n;
}
catch
{
return 0;
}
}
}
private void button1_Click(object sender, EventArgs e)
{
if (CheckUser() > 0)
{
PicManager pic = new PicManager();
pic.Show();
this.Hide();
}
else
{
MessageBox.Show("用户名不能为空");
}
}
...全文
56 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq904492758 2009-07-16
  • 打赏
  • 举报
回复
我晕 。。一分没有啊
qq904492758 2009-07-16
  • 打赏
  • 举报
回复
mark
qq904492758 2009-07-16
  • 打赏
  • 举报
回复
MessageBox.Show("用户名不能为空!", "错误");
加上 return 0;

MessageBox.Show("密码不能为空!", "错误");
加上 return 0;
wuyi8808 2009-07-16
  • 打赏
  • 举报
回复
        public int CheckUser() 
{
if (this.tbxUserName.Text == "")
{
MessageBox.Show("用户名不能为空!", "错误");
}
else if (this.tbxPassWord.Text == "")
{
MessageBox.Show("密码不能为空!", "错误");
}
else
{
string str = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection conn = new SqlConnection(str);
SqlCommand cmd = new SqlCommand("Login", conn);

cmd.CommandType = CommandType.StoredProcedure;
SqlParameter UserName = new SqlParameter("@username", SqlDbType.VarChar, 50);
UserName.Value = this.tbxUserName.Text;
cmd.Parameters.Add(UserName);

SqlParameter PassWord = new SqlParameter("@pwd", SqlDbType.VarChar, 50);
UserName.Value = this.tbxPassWord.Text;
cmd.Parameters.Add(PassWord);

SqlParameter sp = new SqlParameter("@return", SqlDbType.Int, 4);

sp.Direction = ParameterDirection.Output;
cmd.Parameters.Add(sp);

try
{
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
int n = (int)(sp.Value);
return n;
}
catch
{
return 0;
}
}

return 0; // <---- 最后加上这句!

}
wkishappy 2009-07-16
  • 打赏
  • 举报
回复
CheckUser()最后一个大括号之前写上一句:return 0;
懦芞 2009-07-16
  • 打赏
  • 举报
回复
自己先顶顶

110,538

社区成员

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

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

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