在 ADO.NET 中,您可以将参数添加到命令对象以安全地将用户输入添加到 SQL 查询。SQL 查询常见的其他谓词的等价物是什么?
我正在编写一个程序,该程序本质上是一个非常有限的 OR 映射器和 SQL 生成器(它主要关注具有元信息的数据库和符合该元数据的其他数据库)。因此,我需要能够调用以下内容:
string sql = "select " + USER_SELECTED_COLUMNS +
" from " + USER_SELECTED_TABLE +
" where " + USER_CRITERIA;
其中一些(例如criteria
)是由受信任的用户(我公司的其他开发人员)从字面上输入到我的程序中的,而其他数据是由不受信任的用户(客户)通过他们的搜索等输入到我的程序中的。
我想让这个程序安全,我知道上面不是。目前我已经USER_SELECTED_COLUMNS
用命令参数替换了,但我无法找到 CRITERIA 和 TABLEs 的等效项。(或按列排序)。是否有任何类似于SqlParameter
我可以用于非选择谓词的 ADO.NET 功能?