【问题标题】:Mysql Query Replacement StringMysql查询替换字符串
【发布时间】:2016-12-04 15:37:44
【问题描述】:

我正在尝试从我的 GUI 中获取一个值并在我的查询中使用它。我该如何使用 C# 来解决这个问题?我正在尝试使用 GUI 值来替换“cid”。

 string query = "SELECT firstname, lastname, quanitybought FROM customers s, beersbought a WHERE exists(SELECT 'x' FROM beersbought b WHERE b.cid = s.cid)";

有没有办法用我从 GUI 收到的值替换 cids? 例如 where b.GUIVALUE = s.GUIVALUE.

【问题讨论】:

    标签: c# mysql desktop-application windows-applications


    【解决方案1】:

    看看 String.Format() 你可以使用类似的东西轻松实现你想要的东西

    string query = string.Format("SELECT firstname, lastname, quanitybought FROM customers s, beersbought a WHERE exists(SELECT 'x' FROM beersbought b WHERE {0} = {1})", bCidUIControl.Text, sCidUIControl.Text);
    

    以上假设您有 2 个 UI 控件(名为 bCidUIControl 和 sCidUIControl),例如设置/选择参数值的 TextBox。

    请注意,在编写这样的查询时,您应该非常谨慎,以尽量减少 SQL 注入攻击的可能性。尽管以上内容可以实现您想要的,但您可能应该考虑将这些文本值替换为类中经过验证的类型安全属性。

    希望这有帮助吗?

    【讨论】:

      猜你喜欢
      • 2012-07-23
      • 2013-11-22
      • 2016-06-26
      • 2012-03-22
      • 2011-08-22
      相关资源
      最近更新 更多