如何使用c#(在组合框选择中编辑表列)将数据添加到mysql中

如何使用c#(在组合框选择中编辑表列)将数据添加到mysql中,c#,mysql,combobox,C#,Mysql,Combobox,我想根据用户在items组合框中选择的内容在mysql数据库的表中添加项 例如:如果一个人选择了tea(这个事件应该填充我表中的tea列),并将数量填充为2,那么我想在mysql表中的tea列名称下添加2。我试图使用update语句,但它给出了一个错误,即语法不正确。如果用户选择茶或咖啡,表中要填充的列将发生更改,这就是我使用“+this.items.Text+” “更新employee.transaction 设置部门=“+this.department.Text+”, “+this.ite

我想根据用户在items组合框中选择的内容在mysql数据库的表中添加项

例如:如果一个人选择了tea(这个事件应该填充我表中的tea列),并将数量填充为2,那么我想在mysql表中的tea列名称下添加2。我试图使用update语句,但它给出了一个错误,即语法不正确。如果用户选择茶或咖啡,表中要填充的列将发生更改,这就是我使用
“+this.items.Text+”

“更新employee.transaction
设置部门=“+this.department.Text+”,
“+this.items.Text+”=“+this.quantity.Text+”,
billno='“+this.bill\u no\u txt.Text+”'

其中billno='“+this.bill_no_txt.Text+”;”我可能会在您的查询中看到几个可能导致问题的点。让我们来看看:

SET   department = ' " + this.department.Text + " ',
请确保在数据库中输入了正确的数据。在SQL查询中,如果在文本或varchar字段中输入文本,则需要确保没有空格。上面输入的是“文本”而不是“文本”(注意空格)。以下内容将输入开头和结尾不带空格的文本:

SET   department = '" + this.department.Text + "',
最可能导致错误的原因是:

billno = ' " + this.bill_no_txt.Text + "'
我假设您的billno列被定义为int(这是正确的)。但是你必须确保你插入了它。通过使用“(single brakets),您试图在int字段中输入文本,这将导致错误。我不能肯定地说,因为我看不到要在其中更新数据的表的表定义

导致问题的其他原因是此处的列名错误:

 ' " + this.items.Text + " ' =  ' " + this.quantity.Text + " ' ,

 ' " + this.items.Text + " ' 
将基本上输入错误的“'Columnname'”(带“'”和空格)。它可能应该是“Columnname”。请在没有空格和单背景的情况下尝试:

 " + this.items.Text + " =  '" + this.quantity.Text + "' ,
但尽管如此,我认为您的数据库存在架构问题。。。如果您有30种不同的饮料,则需要有30列,这可以通过三列表和两列表之间的n对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 + ";

我不明白,当你将billno用作条件参数时,为什么你必须更新它。你能粘贴错误吗?它应该指出查询中语法不正确的地方。非常感谢先生。问题是代码中的单引号应该是:“+this.items.Text+”而不是“+this.items.Text+”