可能有一个字符串[];该数组在运行时动态存储数据库表列的名称。程序在运行时了解可能的大小。现在把它放在sql查询中。我使用for循环来连接字符串
for(int k=0;k<likely.length;k++)
{
temp1="\"+likely["+k+"]+\"='Likely' AND ";
temp=temp.concat(temp1);
}
如果大小为 3,则最终温度将如下所示
temp = " "+likely[0]+"='Likely' AND "+
likely[1]+"='Likely' AND "+
likely[2]+"='Likely' AND "
现在我将sql查询制定为
sql ="SELECT * FROM PUNE WHERE"+temp+"Arts_And_Museum='Yes'";
但期间
ps = con.prepareStatement(sql);
该语句的编译方式如下
SELECT * FROM PUNE
WHERE [+likely[0]+]='Likely'
AND [+likely[1]+]='Likely'
AND [+likely[2]+]='Likely' AND Arts_And_Museum='Yes'
经过深入调查,我得出结论,它将“”解释为[或]交替..
结果我得到一个错误我应该如何解决这个问题?
我运行一个 for 循环并准备一个字符串我正在尝试编写一个 sql 语法