从属性文件中的Query中传递参数

时间:2015-03-11 06:57:16

标签: java sql

我在查询中使用属性文件传递参数,例如indexid = a,b,c,d.Below是我的代码 -

 PreparedStatement ps =conn.prepareStatement("Select * from indexcalc where DATE between ? and ? and "+"isd_index in ?");
            ps.setDate(1, d1);
            ps.setDate(2, d2);
            ps.setString(1, indexList);

现在的问题是,如果我在属性文件中标记的值如'a','b',查询运行正常,但我想要传递参数,如a,b.So将接近什么,以便参数传递像a应该被处理查询为'a'.please建议。

1 个答案:

答案 0 :(得分:0)

要获得简单快速的解决方案,请先阅读file中的String S

String[] sArray= S.split(",");
//now sArray contains all the values
String indexList= null;
for(int i=0;t<sArray.length;i++){
 sArray[i]= "'"+sArray[i]+"'";
 indexList= indexList + sArray[i];
 }
 //with 'a' sArray

现在只需将其作为

中的参数传递
PreparedStatement ps =conn.prepareStatement("Select * from indexcalc where DATE between ? and ? and "+"isd_index in ?");
        ps.setDate(1, d1);
        ps.setDate(2, d2);
        ps.setString(3, indexList);