从c#只更新sql中的一个单元格

本文关键字:一个 单元格 更新 sql | 更新日期: 2023-09-27 18:06:57

我在sql中有一个包含许多字段的表。

我只想更新一个名为"ready"的字段,该字段的id取自combobox。我使用了以下代码:

string query = "Update order SET ready='true' Where id=" + int.Parse(idComboBox.SelectedItem.ToString()) + ""; 

它给出错误提示:

列名为空

如何保持其他记录的值不变,只更改字段ready的值?

从c#只更新sql中的一个单元格

ORDER是一个保留字。请改用[ORDER]

ORDER是SQL Server上的reserved word。您应该将其与方括号[] 一起使用

保留关键字是Transact-SQL语言语法的一部分SQL Server用来解析和理解Transact-SQL的语句和批处理。

string query = "Update [order] SET ready='true' Where id=" + int.Parse(idComboBox.SelectedItem.ToString()) + "";

但更重要的是,您的查询对SQL注入攻击是开放的。您应该始终使用参数化查询

string query = "Update [order] SET ready='true' Where id = @id";
SqlCommand myCommand = new SqlCommand(query, cnn);
myCommand.Parameters.AddWithValue("@id", int.Parse(idComboBox.SelectedItem.ToString()));

使用此:

string query = "Update [order] SET ready='true' Where id=" + int.Parse(idComboBox.SelectedItem.ToString()) + "";