-3
你好我有一个问题,得到“ExecuteNonQuery需要一个开放和可用的连接异常,连接的当前状态是关闭的。”c#“ExecuteNonQuery需要一个开放且可用的连接,连接的当前状态是关闭的。”
public void AddCustomer(Customer customer)
{
string connectionString = @"Data Source=LIRON-PC\SQLEXPRESS;Initial Catalog=C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\MatokMmagnet.mdf;Integrated Security=True";
using (m_sqlConnection = new SqlConnection(connectionString))
{
m_cmd = new SqlCommand();
m_cmd.CommandType = CommandType.Text;
m_cmd.Connection = m_sqlConnection;
m_cmd.Parameters.AddWithValue("@id", customer.id);
m_cmd.Parameters.AddWithValue("@FirstName", customer.FirstName);
m_cmd.Parameters.AddWithValue("@LastName", customer.LastName);
m_cmd.Parameters.AddWithValue("@Password", customer.Password);
m_cmd.CommandText = "INSERT INTO Customers (id, FirstName, LastName, Password)VALUES (@id, @FirstName, @LastName, @Password)";
try
{
m_cmd.ExecuteNonQuery();
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
m_sqlConnection.Close();
}
}
}
? – Steve
你不打开连接并想执行查询?在执行查询之前打开它(m_sqlConnection.Open())。另外你还没有关闭,因为你使用了关闭连接的块。 –
您是否确定要将连接字符串嵌入代码中。如果你需要改变它呢?你必须去很多地方去更新它。这不好! – mason