【问题标题】:change sql query using selected text in combobox使用组合框中的选定文本更改 sql 查询
【发布时间】:2019-11-18 05:30:47
【问题描述】:

我正在使用 MySQL 和 WinForm 编写程序。在我的程序中,有一个选项可以从从数据库中的表中检索的组合框中选择 增值税号。选择增值税号后,用户必须在 2 个不同的文本框中输入 2 个不同的值。输入这些值后,将执行 sql 查询。并在另一个文本框中显示结果。

Application form

我的 sql 查询工作正常。

using(MySqlConnection con = new MySqlConnection(cs))
{
      con.Open();
      //string command;

      string command = @"SELECT * FROM `db_liq_blnd_calc_sys`.`tbl_vat_12_spirit_sa` WHERE DIP = '" + txt_Calc_BULK_DIP.Text + "' AND SLIDE = '" + txt_Calc_BULK_SLIDE.Text + "'";
      MySqlDataAdapter da = new MySqlDataAdapter(command, con);
      DataTable dtable = new DataTable();
      DataSet ds = new DataSet();
      da.Fill(ds);
      DataRow[] returnrow = ds.Tables[0].Select("DIP = '" + txt_Calc_BULK_DIP.Text + "' AND SLIDE = '" + txt_Calc_BULK_SLIDE.Text + "'");
      int result = returnrow.Length;
      DataRow dr = returnrow[0];

      txt_Calc_BULK_BULK.Text = (dr["BULK"].ToString());

      con.Close();
}

我想要做的是,我的数据库中有 15 个表具有相同的表结构但其中的数据不同。我想通过从组合框中选择不同的 增值税号 来更改执行的 sql 查询。

【问题讨论】:

  • 所以基本上你想根据增值税号从不同的表中选择数据?
  • 为什么你的数据库中有 15 个相似的表?
  • 是的。通过选择增值税号,sql 查询的变化最大。

标签: c# mysql winforms


【解决方案1】:

由于所有表格都具有相同的结构,我建议为所有表格制作一个大表格,并在其中添加一个增值税号列。然后,要在组合框中设置值,请从此表中选择不同的增值税号。最后,将增值税号条件添加到您的查询中。

附带说明,使用“参数化查询”而不是将值连接到您的查询,这将有助于防止 SQL 注入攻击。

【讨论】:

  • 但问题是所有表都必须分开。这些表包含一些液体罐的数据。有15种不同的坦克。还有15张不同的桌子。我们需要使用表格来检查罐中的当前液位。我们一直在以手动方式进行此过程。现在我们决定制作一个程序来完成整个过程。
  • 这里有一些问题。坦克是否有多个增值税号?还是一个?增值税号是唯一的吗?还是坦克之间共享?
  • @inD4MNL4T0R 这不是一个很好的借口。您可以在组合表中添加一个储罐标识符字段,以便能够判断哪个记录适用于哪个储罐。
  • @SohaibJundi 是的。所有的坦克都有唯一的增值税号。而且每个表包含大约 2000 条记录。
  • 您只回答了第二个问题。每罐有多少?有单号吗?还是多个?
猜你喜欢
  • 2013-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-04
  • 2016-06-25
相关资源
最近更新 更多