加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么这个代码块会说“并非所有代码路径都返回一个值”?

发布时间:2020-12-15 19:55:21 所属栏目:百科 来源:网络整理
导读:我写了下面的代码…但是我得到的错误就像: 错误1’LoginDLL.Class1.Login(string,string,string)’:并非所有代码路径都返回一个值 请帮我… 提前致谢… 我的代码如下所示…… public int Login(string connectionString,string username,string password){
我写了下面的代码…但是我得到的错误就像:

错误1’LoginDLL.Class1.Login(string,string,string)’:并非所有代码路径都返回一个值

请帮我…

提前致谢…

我的代码如下所示……

public int Login(string connectionString,string username,string password)
{
    SqlConnection con=new SqlConnection(connectionString);
    con.Open();

    SqlCommand validUser = new SqlCommand("SELECT count(*) from USER where username=@username",con);
    validUser.Parameters.AddWithValue("@username",username);
    int value=Convert.ToInt32(validUser.ExecuteScalar().ToString());
    if (value == 1)
    {
        //check for password
        SqlCommand validPassword = new SqlCommand("SELECT password from USER where username=@username",con);
        validPassword.Parameters.AddWithValue("@username",username);
        string pass = validPassword.ExecuteScalar().ToString();
        if (pass == password)
        {
            //valid login
            return 1;
        }
        else
        {
            return 0;
        }
    }
    else if (value == 0)
    {
        return 2;

    }
}

解决方法

您收到错误,因为函数可以在不返回值的情况下结束(即遍历代码路径).要修复错误,请在条件的末尾添加else子句:

if (value == 1)
    {
      // ...
    }
    else if (value == 0)
    {
      // ...
    }
    else {
      // Return a value here.
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读