更新MySql数据库表中的数据
本文关键字:数据 MySql 数据库 更新 | 更新日期: 2023-09-27 18:13:16
我正在创建一个Windows窗体应用程序,现在在某些时候我需要使数据库连接,我已经插入值到数据库很容易,但现在它不更新我的数据,我使用以下查询为此目的:
MySqlCommand sda = new MySqlCommand(@"Update shedulling.tablelayout1 set date = '"
+ date + "',line = " + line + ",col1 = '" + first_textbox.text + "', col2 = '"
+ sec_textbox.text + "',col3_textbox.text = '" + thi_textbox.text
+ "',col4_textbox.text = '" + four + "' where date = '" + date + "' AND line = '"
+ line.ToString() + "' ", conn);
conn
是一个写好的连接字符串,date
和line
是作为参数发送给该函数的字符串和整数值。
您在line
部分漏掉了单引号。修改为line = '" + line + "'
.
在你的代码中还有一个更值得注意的事情:你试图在表中找到where
子句where date = '" + date + "' AND line = '" + line.ToString() + "'
中还不存在的记录,在这行date
和line
是新值而不是旧值,所以在更新查询中没有影响行。您应该在where
子句中使用date
和line
的旧值。
你也应该总是使用parameterized queries
。这种字符串连接对SQL Injection
是开放的。
试着调试代码,代码中一定有INSERT语句在执行。
UPDATE:如果"line"是整型变量,则需要将其转换为字符串。您将它转换为WHERE子句之后,而不是SET子句之后。
您可能需要发布一些代码来获得确切的答案