更新MySql数据库表中的数据

时间:2015-09-18 16:39:30

标签: c# mysql

我正在创建一个Windows窗体应用程序,现在在某些时候我需要建立数据库连接,我已经轻松地将值插入数据库,但现在它没有更新我的数据,我正在使用以下查询:< / p>

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是字符串和整数值作为参数发送到此函数。

2 个答案:

答案 0 :(得分:2)

您在line部分错过了单引号。像line = '" + line + "'一样更改它。

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

此外,您应始终使用parameterized queries。这种字符串连接对SQL Injection开放。

答案 1 :(得分:0)

尝试调试代码,必须在代码中的某处执行INSERT语句。

更新:如果&#34; line&#34;是整数变量然后你需要将其转换为字符串。您已在WHERE子句之后但在SET子句之后转换它。

您可能希望发布更多代码以获得准确答案。

相关问题