Pri*_*mal 2 sql dart flutter sqflite
我必须知道特定行是存在的,其中uidCol列aaa在tagtable。但我不知道所以我只是使用try~catch块。
我想要做的是检查本地数据库,如果没有数据,则从 firestore 获取。
我在做什么就像下面
try {
await db.rawQuery('SELECT * FROM tagTable WHERE uidCol="aaa"');
} catch(exception){
await _fetchTagsFromFirestore().catchError((e){
print('FATAL ERROR: ${e.toString()}');
return FETCH_RESULT.FAILURE;
});
}
Run Code Online (Sandbox Code Playgroud)
但我认为检查行是否存在不是正确的方法。我该如何妥善处理?
我假设您想检查数据库中是否存在符合指定条件的记录,如果确实存在则执行某些操作。
从数据库中获取结果并存储在查询结果中:
var queryResult = await db.rawQuery('SELECT * FROM tagTable WHERE uidCol="aaa"');
检查结果是否为空:
result.isNotEmpty ? //do something if the result is not empty here
: []; //else return empty list
Run Code Online (Sandbox Code Playgroud)
小智 6
试试这个,它对我有用
var db= DatabaseHelper();
Future<int> getcount(id) async {
var dbclient = await db;
int count = Sqflite.firstIntValue(
await dbclient.rawQuery("SELECT COUNT(*) FROM $cartTable WHERE $columnid=$id"));
return count;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5376 次 |
| 最近记录: |