“ExecuteReader:Connection属性尚未初始化。”

时间:2017-04-07 17:47:22

标签: c# asp.net

我是使用Asp.net MVC5的初学者,我目前正在做我的项目。

它指的是“var reader = cmd.ExecuteReader();” 这是我的代码:

public bool IsValid(string username, string password)
{
    string conString = "Server= EJ ; Database=OnlineShopDb ; Integrated Security=SSPI";

    SqlCommand cmd = new SqlCommand("Select * from dbo.UserTb where UserName=@UserName and PassWord=@PassWord");
    SqlConnection con = new SqlConnection(conString);

    cmd.Parameters.AddWithValue("@UserName", SqlDbType.VarChar).Value = username;
    cmd.Parameters.AddWithValue("@PassWord", SqlDbType.VarChar).Value = password;
    con.Open();
    var reader = cmd.ExecuteReader();

    if (reader.HasRows)
    {
        reader.Dispose();
        cmd.Dispose();
        return true;
    }
    else
    {
        reader.Dispose();
        cmd.Dispose();
        return false;
    }
}

1 个答案:

答案 0 :(得分:5)

using语句中包装您的连接,然后将其作为SqlCommand构造函数的第二个参数传递:

var query = "Select * from whatever";
using(var con = new SqlConnection(conString))
using(var cmd = new SqlCommand(query, con))
{
    con.Open();
    // etc
}