Connection属性尚未初始化调用ExecuteScalar时发生错误

时间:2016-05-29 17:36:51

标签: c# sql-server

C#代码:

SqlConnection c;

string str = "Data Source =(LocalDB)\\MSSQLLocalDB;";
str += "AttachDbFilename=|DataDirectory|\\DinoData.mdf;";
str += "Integrated Security= True";
c = new SqlConnection(str);

SqlCommand getxp = new SqlCommand("SELECT xp FROM [User] Where Username = @username");
getxp.Parameters.AddWithValue("@username", (string)Session["CurentUserid"]);

c.Open();
Session["xp"] = (int)getxp.ExecuteScalar();
c.Close();

if ((int)Session["xp"]<200)
{
    Response.Redirect("Must-Had.aspx", true);
}

错误:

  

ExecuteScalar:尚未初始化Connection属性。

     

描述:执行期间发生了未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:System.InvalidOperationException:ExecuteScalar:   连接属性尚未初始化。

1 个答案:

答案 0 :(得分:2)

您需要为SqlCommand分配连接。像这样:

SqlCommand getxp = new SqlCommand("SELECT xp FROM [User] Where Username = @username", c);

或者:

getxp.Connection = c;