繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM