flutter - 如何检查表是否为空?
问题描述
我在 SO 上看到了很多答案,但几乎都与 android 相关。我想在启动我的应用程序之前检查表是否为空。如何实施?
解决方案
将此https://pub.dev/packages/sqflite包添加到您的依赖项中,然后在 initState 中您可以调用一个函数来检查表是否为空
import 'package:flutter/material.dart';
import 'package:sqflite/sqflite.dart';
void main() {
runApp(MaterialApp(home: Database()));
}
class Database extends StatefulWidget {
@override
_DatabaseState createState() => _DatabaseState();
}
class _DatabaseState extends State<Database> {
var db;
int count;
@override
void initState() {
// TODO: implement initState
tableIsEmpty();
super.initState();
}
void tableIsEmpty()async{
db = await openDatabase('demo.db');
/*await db.execute(
'CREATE TABLE Test (id INTEGER PRIMARY KEY, name TEXT, value INTEGER, num REAL)');*/
count = Sqflite
.firstIntValue(await db.rawQuery('SELECT COUNT(*) FROM Test'));
print(count);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Text( (count == 0)?'Table is empty':'$count entries in the table'
),
),
);
}
}
希望这可以帮助。
推荐阅读
- javascript - 如何与按钮元素在同一行渲染个性化的按钮组件
- tensorflow - TensorFlow Lite 模型能否在应用程序内部持续优化?(无代码问题)
- python - 使用python从数组内非命名嵌套字典中的键获取值
- python - Python:如何去掉嵌套列表最后一个元素上的引号?
- swift - 新 AF 请求上的 responseObject
- ubuntu - Travis CI 构建错误、解密错误、数字信封例程:EVP_DecryptFinal_ex:最终块长度错误:evp_enc.c:518:
- javascript - React 中没有显示单选按钮
- html - 如何用 bootstrap-4 覆盖背景底线?
- pdftron - PDFTron:批量更新属性
- postgresql - postgres 是否协调交易