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

本文关键字:选择 组合 编辑 何使用 数据 添加 mysql | 更新日期: 2023-09-27 18:00:41

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

例如:如果一个人选择tea(这个事件应该填充我表中的tea列)并将数量填充为2,那么我想在mysql表中的列名tea下添加2。我正在尝试使用update语句,但它给出了一个错误——语法不正确。如果用户选择茶或咖啡,则表中要填写的列会发生变化,这就是我使用"+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 + " ' ;";

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

我可能会在您的查询中看到一些可能导致问题的点。所以让我们来看看:

SET   department = ' " + this.department.Text + " ',

请确保在数据库中输入正确的数据。在SQL查询中,如果在文本或varchar字段中输入文本,则需要确保没有空格。您在上面输入的是"TEXT"而不是"TEXT(注意空格)"。以下内容将在开始和结束处输入不带空格的文本:

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 + ";