C# 更新MySql数据库表中的数据
我正在创建一个Windows窗体应用程序,现在我需要建立数据库连接,我已经很容易地将值插入数据库,但现在它没有更新我的数据,为此我使用以下查询:C# 更新MySql数据库表中的数据,c#,mysql,C#,Mysql,我正在创建一个Windows窗体应用程序,现在我需要建立数据库连接,我已经很容易地将值插入数据库,但现在它没有更新我的数据,为此我使用以下查询: MySqlCommand sda = new MySqlCommand(@"Update shedulling.tablelayout1 set date = '" + date + "',line = " + line + ",col1 = '" + first_textbox.text + "', col2 = '" + sec
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+”
此外,代码中还有一点值得注意:您试图在表中查找where
子句where date='“+date+'”和line='“+line.ToString()+”中尚不存在的记录“
注意,此行date
和line
是新值,而不是旧值,因此在更新查询中没有受影响的行。您应该在where
子句中使用date
和line
的旧值
你也应该经常使用。这种类型的字符串连接是开放的。尝试调试代码,必须在代码中的某个位置执行INSERT语句 更新:如果“line”是整数变量,则需要将其转换为字符串。您在WHERE子句之后转换了它,但在SET子句之后没有转换
您可能需要发布更多代码以获得准确答案。可能是时间格式的问题。有许多可能的格式。注意这里:它真的被称为“shedulling”,拼写错误吗?你犯了什么错误?您还需要了解SQL注入预防,此应用程序非常容易受到SQL注入攻击。