【发布时间】:2011-09-22 05:56:08
【问题描述】:
我有一个简单的查询,香草选择语句,我想过滤用户提供的值。
SELECT A,B,C,D,E FROM TAB
WHERE ....
这里的 WHERE 不是固定的,即用户可以输入 C 的值,所以只有 C 应该被过滤,或者 D 或 E 等等。问题是由于用户告诉 - 在 1 到 10 之间过滤 callerID 等,但数据库列具有不同的名称。因此,要形成一个有效的查询,我必须将 callerID 映射到 columnName。因为这将在一个过程中,我考虑过传递 userInputColumnNames 的 csv、dbColumns 的 csv 和过滤器开始和启动。然后费力地提取值并匹配正确的数据库列名并形成查询。这可行,但是这非常麻烦且不干净。有没有更好的方法来做到这一点?
【问题讨论】:
-
你能在应用端处理这个吗?