当前页面: 开发资料首页 → JSP 专题 → 如何在使用预编译SQL的情况下做不定项查询
如何在使用预编译SQL的情况下做不定项查询
摘要: 如何在使用预编译SQL的情况下做不定项查询
如何在使用预编译SQL的情况下做不定项查询
例如有5个列作为查询条件
我选择其中2个列来进行查询
问题是如果我使用的SQL为预编译的话
不使用那个东西对于防止注入攻击比较麻烦
把sql中where后面的取出来,根据and把每个条件放到数组中,根据数组中的下标和数组中字符串的值来设置
可能我没有说明白
例如我有5项
其中第2、3、5项是有用户输入的
换句话说拼起来就是有3个?
用数组的话如何确定这3个?的位置呢?
就是
db.setString(1,id);
类似这个东西我不知道应该如何生成
比如"where a=? and b=? and c=?"
先把a ,b,c放到数组中
然后对数组循环一下,判断a的值下标是几,然后就db.setString(下标+1,a)
如果是有
a,b,c,d,e
5项
其中作为查询条件的有
a,b,c
或者是其他的
那么应该怎么写呢?
能不能写出具体的核心程序来呢?
for (int i=0;i
{
if (arr[i].equalsIgnoreCase("a"))
{
db.setString(i+1,a)
}
elseif (arr[i].equalsIgnoreCase("b"))
{
db.setString(i+1,b)
}
....把所有的条件按上面的写一下就行了呀
}