站内搜索: 请输入搜索关键词

当前页面: 开发资料首页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)

}
....把所有的条件按上面的写一下就行了呀
}


↑返回目录
前一篇: 数据库的事物问题
后一篇: 关于executeBatch()的问题