C# SQL语句在C中失败#
我正在尝试执行以下代码:C# SQL语句在C中失败#,c#,sql,sql-server,C#,Sql,Sql Server,我正在尝试执行以下代码: 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(
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()
时出错,您需要在更新.ExecuteNonQuery()之前执行连接.Open()
。您还需要使用确保在执行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();
}
}
我认为这里的问题是在add-parameter语句中缺少“@”符号。您还使用了add而不是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();
请注意,我还更改了代码以打开您创建的连接。您遇到了什么错误?