c# - 更新MySql数据库表中的数据

标签 c# mysql

我正在创建一个 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 是作为参数发送给该函数的字符串和整数值。

最佳答案

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

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

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

关于c# - 更新MySql数据库表中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32657038/

相关文章:

sql - 如何比较两个查询的结果,并找到两者之间的匹配项?

java - 使用非主键列的实体映射

Mysql group_concat 按计数拆分

php - 根据登录用户的 ID 显示数据库表中的数据

c# - 以 Azure Blob 存储 block 上传视频

c# - 从 C# 导出 xls 文件 - 不保存特殊字母

c# - 在哪里实现 try catch block ?

c# - 如何使用索引列表填充下拉框

c# - 无法解析构造函数 'CsvReader(string)'

mysql - 使用连接嵌套子查询