Mysql查询替换字符串

时间:2016-12-04 15:37:45

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

我试图从我的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。

1 个答案:

答案 0 :(得分: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注入攻击的可能性。虽然上面的内容可以达到你想要的效果,但你应该考虑用类中的有效类型安全属性替换这些文本值。

希望这有帮助吗?