我想将值列表作为字符串传递给Worklight 6.1 SQL Adapter中的IN子句:
SQL_Query= select * from USERS where name in (?);
我将以下字符串作为参数传递:
'john','mike','joe'
对SQL过程的调用失败,并显示以下错误:
java.sql.SQLException: Invalid column index
所以我的问题是:如何处理SQL适配器中的IN参数?
答案 0 :(得分:0)
关键是使用长度可变参数,因为我不知道要检索多少人(数量取决于上下文)。
实际上,使用PreparedStatement(JDBC)无法做到这一点。它只能与Statement一起使用。不幸的是,Worklight API并未提出声明,只提出了预备声明。
以下工作正常,但我必须将搜索范围限制为3人:
SQL_Query= select * from USERS where name in (?,?,?);
或(脏):
SQL_Query= select * from USERS where name = ? or name = ? or name = ?;