2

如何在 Flutter 的 Sqflite 中使用准备好的语句?它似乎缺少某些功能,或者只是排列方式完全不同。目前,我正在使用标准 rawInsert 但我的字符串有时会破坏查询。

4

2 回答 2

1

您可以使用问号语法。

db.rawQuery("SELECT * FROM t WHERE c = ?", [myString]);
于 2019-06-03T06:47:20.323 回答
0

我正在使用带有 rawInsert 的事务。如果存在现有记录,则在此代码中插入将被忽略。

return await Storage.database.transaction((txn) async {
      await txn.rawInsert('INSERT OR IGNORE INTO $tableName(id, sender_id, recipient_id, message_id, message)' + 'VALUES("$id", "$senderId", "$recipientId", "$messageId", "$message")');
}).catchError((e) {
      throw (e);
});
于 2020-02-02T02:56:33.983 回答