我试图从我的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。
答案 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注入攻击的可能性。虽然上面的内容可以达到你想要的效果,但你应该考虑用类中的有效类型安全属性替换这些文本值。
希望这有帮助吗?