我正在尝试执行以下代码:
SqlConnection connection = new SqlConnection(@"Data Source=(LocalDB rest of my connstring.... ");
SqlCommand update = new SqlCommand("Update tblImages SET Name=@name, Descript=@descript WHERE Id=@id", connection);
update.Parameters.Add("name", TextBox3.Text);
update.Parameters.Add("descript",TextBox4.Text);
update.Parameters.Add("id",id);
update.ExecuteNonQuery();
执行ExecuteNonQuery()
时出错。
答案 0 :(得分:0)
您需要在connection.Open()
之前update.ExecuteNonQuery()
。您还需要使用using statement确保在connection
执行后update.ExecuteNonQuery()
关闭。 update.Parameters.Add(...)
方法中的参数名称也有误,您忘记添加@
using (SqlConnection connection = new SqlConnection(@"Data Source=(LocalDB rest of my connstring.... "))
{
using (SqlCommand update = new SqlCommand("Update tblImages SET Name = @name, Descript = @descript WHERE Id = @id", connection))
{
update.Parameters.Add(new SqlParameter("@name", TextBox3.Text));
update.Parameters.Add(new SqlParameter("@descript", TextBox4.Text));
update.Parameters.Add(new SqlParameter("@id", id));
connection.Open();
update.ExecuteNonQuery();
}
}
答案 1 :(得分:0)
我认为这里的问题是你错过了' @'添加参数语句中的符号。您还使用了添加而不是AddWithValue
。
尝试将其更改为:
SqlConnection connection = new SqlConnection(@"Data Source=(LocalDB rest of my connstring.... ");
connection.Open();
SqlCommand update = new SqlCommand("Update tblImages SET Name=@name, Descript=@descript WHERE Id=@id", connection);
update.Parameters.AddWithValue("@name", TextBox3.Text);
update.Parameters.ADdWithValue("@descript", TextBox4.Text);
update.Parameters.AddWithValue("@id", id);
update.ExecuteNonQuery();
注意我还更改了代码以打开您已创建的连接。