【发布时间】:2021-06-02 03:17:39
【问题描述】:
我是 Flutter 和 SQLite 的新手,所以我试图从为 SQLite 创建 DB Browser 的数据库中获取数据。
我在控制台上得到这个:
“/flutter (9624): 'Future>>'的实例”
我不知道这是错误还是警告,但我在控制台上看不到数据。
这是我的 main.dart 类和 database_helper 类的代码。
Future<Database> _getDatabase() async {
if (_database == null) {
_database = await _initializeDatabase();
return _database;
} else {
return _database;
}
}
Future<Database> _initializeDatabase() async {
var lock = Lock();
Database _db;
if (_db == null) {
await lock.synchronized(() async {
if (_db == null) {
var databasesPath = await getDatabasesPath();
var path = join(databasesPath, "appDB.db");
var file = new File(path);
// check if file exists
if (!await file.exists()) {
// Copy from asset
ByteData data = await rootBundle.load(join("assets", "myNotes.db"));
List<int> bytes =
data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
await new File(path).writeAsBytes(bytes);
}
// open the database
_db = await openDatabase(path);
}
});
}
return _db;
}
showCategories() async {
var db = await _getDatabase();
var categoryList = db.query("kategori");
print(categoryList);
}
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
var databaseHelper = DatabaseHelper();
databaseHelper.showCategories();
return MaterialApp(
title: 'Demo',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Text(""),
);
}
}
【问题讨论】:
-
尝试在此处添加
await:var categoryList = db.query("kategori");
标签: android ios sql sqlite flutter