如何使用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 + " ' ;";
我可能会在您的查询中看到一些可能导致问题的点。所以让我们来看看:
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 + ";