C# &引用;ExecuteReader:连接属性尚未初始化;
我是一个使用Asp.NETMVC5的初学者,我目前正在做我的项目 它指的是“var reader=cmd.ExecuteReader();” 这是我的密码:C# &引用;ExecuteReader:连接属性尚未初始化;,c#,asp.net,C#,Asp.net,我是一个使用Asp.NETMVC5的初学者,我目前正在做我的项目 它指的是“var reader=cmd.ExecuteReader();” 这是我的密码: public bool IsValid(string username, string password) { string conString = "Server= EJ ; Database=OnlineShopDb ; Integrated Security=SSPI"; SqlCommand cmd = new S
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;
}
}
使用语句将连接包装在
中,然后将其作为SqlCommand
构造函数的第二个参数传入:
var query = "Select * from whatever";
using(var con = new SqlConnection(conString))
using(var cmd = new SqlCommand(query, con))
{
con.Open();
// etc
}
使用
语句将连接包装在中,然后将其作为SqlCommand
构造函数的第二个参数传入:
var query = "Select * from whatever";
using(var con = new SqlConnection(conString))
using(var cmd = new SqlCommand(query, con))
{
con.Open();
// etc
}
将连接传递到命令的位置…?未正确处理连接。如果有例外呢?现在你正在泄漏资源。了解该模式。我想知道尚未初始化的连接属性是什么???如果有大量关于SqlCommand类的文档就好了。可能是可以通过互联网访问的地方。哇,那太神奇了。你在哪里传递到命令的连接…?你没有正确处理你的连接。如果有例外呢?现在你正在泄漏资源。了解该模式。我想知道尚未初始化的连接属性是什么???如果有大量关于SqlCommand类的文档就好了。可能是可以通过互联网访问的地方。哇,那太棒了。@EjGenito还应该注意,一旦您使用
语句切换到,您就不再需要手动关闭或处理连接。它将为您处理该问题,即使是在发生未经处理的异常时。@EjGenito还应注意,一旦您使用
语句切换到,您将不再需要手动关闭或处理连接。即使发生未处理的异常,它也会为您处理。