[英]Pass input to sqlite IN operator (Javascript, Cordova)
我在用于iPad的cordova环境中使用sqlite。 在使用单个输入查询select语句时,我会这样做
tx.executeSql("select * from activityData_table where id=? ;", [outage.outageId], function(tx, res)
但是,如果我想选择使用下面给出的IN运算符,该怎么办呢?
select * from activityData_table where id in (val1,val2,val2)
我将如何形成查询并将输入传递给它。 一组值是否足够或我们是否需要手动执行任何concat操作?
我找不到任何与JS一起使用sqlite的文档。 如果任何人可以建议文档或教程网站供参考将是非常有帮助的。
您可以获取值的计数,然后生成这样的语句(伪代码):
var values = [1,2,3,4];
var count = values.length;
var sql = 'select * from activityData_table where id in (';
for (var i = 0; i < count; i++) {
if(i != (count - 1)) {
sql += '?,';
}
else {
sql += '?)';
}
}
tx.executeSql(sql,values);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.