我是 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(""),
);
}
}
答案 0 :(得分:0)
错误可能是由于返回类型不一致造成的。请查看这篇关于颤振数据库的文章
https://www.tutorialspoint.com/flutter/flutter_database_concepts.htm