【问题标题】:How to execute parameterized select query on .mdf database and display a column value?如何在 .mdf 数据库上执行参数化选择查询并显示列值?
【发布时间】:2015-03-13 11:25:14
【问题描述】:

我有一个 SQL Server 数据库文件 MsUser.mdf 和一个表 MsAccount,它有 5 列:

userID   accountID   accountName   accountBalance   imageLocation

我需要找到accountBalance 所在的accountID = combobox 被选中,并将其显示在labelBalance._text 中。 AccountBalancedecimalaccountIDvarchar(10)

我在组合框事件选择索引处编写了代码。 感谢您的帮助。

      private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
      {
          string selected = comboBox2.SelectedItem.ToString();//typ0000001-cake
          int position = selected.IndexOf("-");
          string accountID = selected.Substring(0,position);//typ0000001
          SqlDataAdapter sdaUserID = new SqlDataAdapter("Select Count(accountBalance),accountBalance From MsAccount where accountID='" +accountID+"'", cn);
          DataTable dt1 = new DataTable();
          sdaUserID.Fill(dt1);
          lblBalance.text = dt1.Rows[0][1].ToString();

      }

【问题讨论】:

  • 您必须包含您的代码(SQL 语句和 C#)并指定问题部分。此外,您似乎正在尝试根据条件 accountID= combobox.text 选择一行并在 accountBalance 列中显示一个值(我已相应地编辑了您的问题)。谢谢和问候,
  • @Alex Bell 感谢您的指导,我会记住这些规则的。并感谢所有帮助我更正我的帖子的人。关于有人抱怨我的语法,我很抱歉,我的英语不太好。那不是我的母语,但我仍然提高了我的英语水平。
  • 欢迎您@Eka Soedono!我发布了一个答案,显示了一些性能优化。如果您对答案感到满意,请将其标记为已接受。祝你的项目好运。最好的问候,

标签: c# sql-server database parameterized-query select-query


【解决方案1】:

很高兴您的代码可以正常工作。通常,创建参数化查询会更好,但如果安全性不是主要问题,那么只需一个简单的 select SQL 字符串就可以完成这项工作(如您的情况)。

关于一些性能优化的几个词:我建议使用String.Concat(string1, string2) 而不是string1+string2 方法,因此最好修改代码中的行,如下所示:

SqlDataAdapter sdaUserID = new SqlDataAdapter(String.Concat ("Select Count(accountBalance),accountBalance From MsAccount where accountID='",accountID, "'"), cn);

最好的问候,

【讨论】:

  • 我已按照您的建议更改了 SDA。在sdaUserID.Fill(dt1);,当我单击并打开表单时出现错误,它说 sqlException 未被用户代码处理:列 'MsAccount.accountBalance' 在选择列表中无效,因为它不包含在聚合函数或GROUP BY 子句。 感谢您的帮助。
  • 不客气!祝你的项目好运。最好的问候,
猜你喜欢
  • 2021-12-01
  • 2019-08-31
  • 2010-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多