flutter 中 sqlite 中的多个参数

2024-05-17

我想知道如何将多个参数传递给 sqllite 中的原始查询。

我的代码如下

query() async {

    // get a reference to the database
    Database db = await DatabaseHelper.instance.database;

    // raw query
    List<Map> result = await db.rawQuery('SELECT * FROM my_table WHERE name=?', ['Peter']);

    // print the results
    result.forEach((row) => print(row));

  }

在上面的代码中,我传递一个参数“Peter”,但如果我想传递多个参数怎么办,例如:

   List<Map> result = await db.rawQuery('SELECT * FROM my_table WHERE name=? and last_name=? and year=?', ['Peter'], ['Smith'],[2019]);

如果我执行上面的代码,我会收到错误“位置参数太多:预期 2 个,但找到 4 个。”有人可以告诉我如何在 sqllite flutter 中将多个参数传递给查询吗?


我假设你正在使用sqflite https://pub.dev/packages/sqflite.

您需要将所有参数放入一个列表中,而不是多个列表中。 下面的代码应该像这样工作:

List<Map> result = await db.rawQuery(
    'SELECT * FROM my_table WHERE name=? and last_name=? and year=?', 
    ['Peter', 'Smith', 2019]
);

有关如何使用原始查询的更多示例,请参阅他们的示例pub.dev 页面 https://pub.dev/packages/sqflite#raw-sql-queries.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

flutter 中 sqlite 中的多个参数 的相关文章

随机推荐