更新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是一个写好的连接字符串,dateline是作为参数发送给该函数的字符串和整数值。

更新MySql数据库表中的数据

您在line部分漏掉了单引号。修改为line = '" + line + "' .

在你的代码中还有一个更值得注意的事情:你试图在表中找到where子句where date = '" + date + "' AND line = '" + line.ToString() + "'中还不存在的记录,在这行dateline是新值而不是旧值,所以在更新查询中没有影响行。您应该在where子句中使用dateline的旧值。

你也应该总是使用parameterized queries。这种字符串连接对SQL Injection是开放的。

试着调试代码,代码中一定有INSERT语句在执行。

UPDATE:如果"line"是整型变量,则需要将其转换为字符串。您将它转换为WHERE子句之后,而不是SET子句之后。

您可能需要发布一些代码来获得确切的答案