[英]How to add data into mysql using c# (edit table column on combo box selection )
我想根据用户在项目组合框中选择的内容在 mysql 数据库的表中添加项目。
例如:如果一个人选择茶(这个事件应该填充我表中的茶列)并填充数量为 2 那么我想在 mysql 表中的列名茶下添加 2 。 我正在尝试使用更新语句,但它给出了一个错误,语法不正确。如果用户选择茶或咖啡,表格中要填充的列会发生变化,这就是我使用"+this.items.Text+"
"UPDATE employee.transaction SET department = ' " + this.department.Text + " ', ' " + this.items.Text + " ' = ' " + this.quantity.Text + " ' , billno = ' " + this.bill_no_txt.Text + "' where billno = ' " + this.bill_no_txt.Text + " ' ;";
我可能会在您的查询中看到几个可能导致问题的点。 所以让我们通过它:
SET department = ' " + this.department.Text + " ',
请确保您在数据库中输入了正确的数据。 在 SQL 查询中,如果在 text 或 varchar 字段中输入文本,则需要确保没有空格。 您在上面输入的是“ TEXT ”而不是“ TEXT”(注意空格)。 以下将在开头和结尾输入没有空格的文本:
SET department = '" + this.department.Text + "',
最有可能导致错误的是:
billno = ' " + this.bill_no_txt.Text + "'
我假设您的 billno 列被定义为 int (这是正确的)。 但是您必须确保按原样插入它。 通过使用 '(单刹车),您试图在 int 字段中输入文本,这会导致错误。 我不能肯定地说,因为我看不到要更新数据的表的表定义。
还有什么可能导致问题的原因是这里的列名是错误的:
' " + this.items.Text + " ' = ' " + this.quantity.Text + " ' ,
' " + this.items.Text + " '
基本上会输入错误的“' Columnname '”(带有“'”和空格)。 它可能应该是“列名”。 尝试不带空格且不带 singlebackets:
" + this.items.Text + " = '" + this.quantity.Text + "' ,
但是尽管如此,我认为您的数据库中存在架构问题...如果您有 30 种不同的饮料,您将需要有 30 列,这可以通过三列表和两列表之间的 n 关系来完成. 我建议你先研究一下。
这是更正的查询,但请确保您了解更改:
UPDATE employee.transaction SET department = '" + this.department.Text + "'," + this.items.Text +" = '" + this.quantity.Text + "' , billno = " + this.bill_no_txt.Text + " where billno = " + this.bill_no_txt.Text + ";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.