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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Array参数传递给SQLiteObject.executeSql()相关的知识,希望对你有一定的参考价值。

我正在尝试将一个数组参数传递给离子中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])传递,以删除不必要的字符等。但它仍然没有返回任何东西。

注意我知道我需要将它包含在承诺或其他内容中,但我只是将其切片并总结以删除不必要的代码。谢谢。

答案

我试图搜遍所有但仍无法找到明确的答案,我只是通过这种方法为它创造了一个解决方案。

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

这只是一个解决方法。我还在等待更好的解决方案。谢谢!

以上是关于将Array参数传递给SQLiteObject.executeSql()的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PHP 中将单个附加参数传递给 array_map 回调?

如何将数组参数传递给 Bash 脚本

将参数传递给 unordered_map(或集合)哈希结构

将 C# 类属性作为参数传递给方法

将数组作为参数传递给 plsql 过程

将过滤器作为参数传递给 Dataframe.filter 函数