diff --git a/src/.idea/dataSources.xml b/src/.idea/dataSources.xml index 6f97ba50..65973a2e 100644 --- a/src/.idea/dataSources.xml +++ b/src/.idea/dataSources.xml @@ -1,7 +1,7 @@ - + sqlite.xerial true org.sqlite.JDBC diff --git a/src/lib/main.dart b/src/lib/main.dart index a0ea07f3..cdbe9745 100644 --- a/src/lib/main.dart +++ b/src/lib/main.dart @@ -8,8 +8,31 @@ import 'package:travelguide/travelguideapp/ui/boundary/collection1.dart'; import 'package:travelguide/travelguideapp/ui/boundary/collection2.dart'; import 'package:travelguide/travelguideapp/ui/boundary/collection3.dart'; import 'package:travelguide/travelguideapp/ui/boundary/collection4.dart'; +import 'package:travelguide/travelguideapp/data/MyDatabase.dart'; +import 'package:path/path.dart'; +import 'dart:async'; +import 'package:sqflite/sqflite.dart'; +void main() async{ + WidgetsFlutterBinding.ensureInitialized(); -void main() { + // 初始化数据库 + final database = await MyDatabase.initDatabase(); + Future insertSampleData() async { + final databasePath = await getDatabasesPath(); + final path = join(databasePath, 'travelguide.db'); + final database = await openDatabase(path); + + // 插入示例数据 + await database.insert('CollectionInfo', { + 'CollectionID': 0, + 'MuseumName': '博物馆名称', + 'CollectionName': '示例藏品', + 'CollectionDetail': '这是示例藏品的详细描述', + }); + + await database.close(); + } + insertSampleData(); runApp(MaterialApp( initialRoute: '/', // 设置初始路由 routes: { diff --git a/src/lib/travelguideapp/data/MyDatabase.dart b/src/lib/travelguideapp/data/MyDatabase.dart index b48edb95..39781fce 100644 --- a/src/lib/travelguideapp/data/MyDatabase.dart +++ b/src/lib/travelguideapp/data/MyDatabase.dart @@ -9,7 +9,7 @@ class MyDatabase { static Future initDatabase() async { final databasePath = await getDatabasesPath(); final path = join(databasePath, 'travelguide.db'); - +print(databasePath); // 打开数据库连接 //onCreate表示只有如果数据库版本发生变化,将会触发 onCreate 回调 final database = @@ -106,7 +106,7 @@ class MyDatabase { CollectionDetail TEXT NOT NULL ); '''); - // print("userstable create success"); + print("userstable create success"); } @@ -126,6 +126,7 @@ class MyDatabase { await txn.execute('DROP TABLE IF EXISTS teams'); await txn.execute('DROP TABLE IF EXISTS userteams'); }); + } static Future reBuildDatabase() async { diff --git a/src/lib/travelguideapp/ui/boundary/CollectionEditPage.dart b/src/lib/travelguideapp/ui/boundary/CollectionEditPage.dart index 6b522f9b..bf349a80 100644 --- a/src/lib/travelguideapp/ui/boundary/CollectionEditPage.dart +++ b/src/lib/travelguideapp/ui/boundary/CollectionEditPage.dart @@ -8,7 +8,7 @@ class CollectionEditPage extends StatefulWidget { } class _CollectionEditPageState extends State { - List> collections = []; // 存储数据库查询结果 + List> collections = []; @override void initState() { @@ -18,8 +18,9 @@ class _CollectionEditPageState extends State { Future _loadCollectionsFromDatabase() async { final databasePath = await getDatabasesPath(); - print(databasePath); - final database = await openDatabase(join(databasePath, 'travelguide.db')); + final path = join(databasePath, 'travelguide.db'); + + final database = await openDatabase(path); // 查询CollectionInfo表中的数据 final result = await database.query('CollectionInfo'); @@ -47,7 +48,6 @@ class _CollectionEditPageState extends State { return ListTile( title: Text('CollectionID: $collectionID'), - subtitle: Text('CollectionName: $collectionName'), ); },