Mysql 查询替换字符串

Mysql Query Replacement String

我正在尝试从我的 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? 例如 b.GUIVALUE = s.GUIVALUE.

看看 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),例如参数值为 set/selected 的 TextBox .

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

希望这有帮助?