【问题标题】:Passing Array parameter to SQLiteObject.executeSql()将数组参数传递给 SQLiteObject.executeSql()
【发布时间】:2018-07-07 23:28:00
【问题描述】:

我正在尝试将数组参数传递给 ionic 中 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])

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

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

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

【问题讨论】:

    标签: sqlite cordova typescript ionic-framework


    【解决方案1】:

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

    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]);
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多