我试图将一个数组参数传递给离子中SQLiteObject的函数executeSql,使其成为我的SQL查询的值。
例如
var sqlQuery: string = "SELECT * FROM Property WHERE ID IN (?) AND Status = ?"
var ids: number[] = [123, 321, 456];
我试图将它传递到这里,
var db: SQLiteObject
db.executeSql(sqlQuery, [ids, 0])
所以基本上我想将 ID 的所有值插入 IN 运算符,将0插入Status。但我认为SQL以不同的方式解释它。
我尝试将其作为字符串db.executeSql(sqlQuery, [ids.toString(), 0])
传递,以删除不必要的字符等。但它仍然没有返回任何东西。
注意 我知道我需要将它包含在承诺或其他内容中,但我只是将其切片并总结以删除不必要的代码。感谢。
答案 0 :(得分:0)
我试图搜索到所有但仍无法找到明确的答案,我只是通过这种方法为它创造了一个解决方案。
var ids: number[] = [123, 321, 456];
var sqlQuery: string = "SELECT * FROM Property WHERE ID IN (" + ids.toString() + ") AND Status = ?";
并将其传递给executeSql
函数
var db: SQLiteObject
db.executeSql(sqlQuery, [0]);
这只是一个解决方法。我还在等待更好的解决方案。谢谢!