从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
的值?
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()) + "";