【发布时间】:2020-12-03 21:39:52
【问题描述】:
我对我的 Sqlite/Brite 数据库有一个查询,它需要两个条件。一个用于检查选定的季度,另一个用于确保操作属性不是“删除”。当我只有 WHERE 子句来检查所选季度时,我得到了我想要的所有数据。当我添加 WHERE 子句以检查以确保它没有“已删除”属性时,什么都没有返回。没有任何东西应该有一个已删除的属性,因此所有相同的数据都应该返回,但事实并非如此。这是为什么呢?
这是导致我出现问题的功能
Stream<List<dynamic>> getTransaction() async* {
List _transaction = [];
final sessionData = await getSession();
final db = await initDatabase();
yield* db.createQuery(
"transactions",
where: 'action != "delete" AND transaction_quarter = ? ',
whereArgs: [sessionData['selected_quarter']]
).mapToList((row) => TransModel.Transaction.fromMap(row));
}
【问题讨论】:
-
"deleted"或"delete"?发布示例数据以澄清。 -
删除。它将确保每条记录上都没有“删除”标志。我可以稍后发布一些示例数据。