将 Array 参数传递给 SQLiteObject.executeSql()

Ric*_*ich 6 sqlite cordova typescript ionic-framework

我试图将一个数组参数传递给 ionic 中 SQLiteObject 的函数 executeSql 以使其作为我的 sql 查询的值。

例如

var sqlQuery: string = "SELECT * FROM Property WHERE ID IN (?) AND Status = ?"
var ids: number[] = [123, 321, 456];
Run Code Online (Sandbox Code Playgroud)

我想把它传到这里,

var db: SQLiteObject
db.executeSql(sqlQuery, [ids, 0])
Run Code Online (Sandbox Code Playgroud)

所以基本上我想将ids 的所有值插入到IN运算符中,并将 0插入到状态中。但我认为 SQL 对它的解释不同。

我试图将它作为字符串传递db.executeSql(sqlQuery, [ids.toString(), 0])以删除不必要的字符等。但它仍然没有返回任何东西。

注意 我知道我需要它来附上一个承诺或其他东西,但我只是将它切片并总结它以删除不必要的代码。谢谢。

Ric*_*ich 4

我试图到处搜索,但仍然找不到明确的答案,我只是通过这种方法发明了一种解决方法。

var ids: number[] = [123, 321, 456];
var sqlQuery: string = "SELECT * FROM Property WHERE ID IN (" + ids.toString() + ") AND Status = ?";
Run Code Online (Sandbox Code Playgroud)

并将其传递给executeSql函数

var db: SQLiteObject
db.executeSql(sqlQuery, [0]);
Run Code Online (Sandbox Code Playgroud)

这只是一种解决方法。我仍然会等待更好的解决方案。谢谢!