我正在开发一个Windows窗体应用程序.我想通过用户选择更改SQL命令.这是我的代码:
command.CommandText = "SELECT * FROM Product WHERE price = @price";
command.Parameters.AddWithValue("@price", 35);
Run Code Online (Sandbox Code Playgroud)
我还想将"="更改为"> ="或其他内容.当我使用参数时,我会收到错误.
command.CommandText = "SELECT * FROM Urun WHERE price @equal @price";
command.Parameters.AddWithValue("@price", 35);
command.Parameters.AddWithValue("@equal", ">=");
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
基本上你不能.参数化SQL仅用于值 - 而不是表名,列名或运算符.这是一个地方,你就可能要动态地生成SQL -但列入白名单的设置选项.
是否从位动态构建完整的SQL,或者是否有一组预先完成的SQL查询,将取决于您正在尝试做什么.显然你仍然应该使用值的参数.
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |