我正在创建一个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
是一个写得很好的连接字符串,date
和line
是字符串和整数值作为参数发送到此函数。
答案 0 :(得分:2)
您在line
部分错过了单引号。像line = '" + line + "'
一样更改它。
此外,您的代码中还有一个值得注意的事情:您正试图在where
子句where date = '" + date + "' AND line = '" + line.ToString() + "'
中查找表中尚不存在的记录date
和line
是新值而不是旧值,因此更新查询中没有影响行。您应该在date
子句中使用line
和where
的旧值。
此外,您应始终使用parameterized queries
。这种字符串连接对SQL Injection
开放。
答案 1 :(得分:0)
尝试调试代码,必须在代码中的某处执行INSERT语句。
更新:如果&#34; line&#34;是整数变量然后你需要将其转换为字符串。您已在WHERE子句之后但在SET子句之后转换它。
您可能希望发布更多代码以获得准确答案。