// Set path of the database
var databasesPath = await getDatabasesPath();
String path = join(databasesPath, 'demo.db');
// Load the database (or create a new one, if it does not yet exist)
Database database = await openDatabase(path, version: 1,
onCreate: (Database db, int version) async {
// When creating the db, create the table
await db.execute(
'CREATE TABLE Test (id INTEGER PRIMARY KEY, name TEXT, value INTEGER, num REAL)');
});
// Avoid errors caused by flutter upgrade.
// Importing 'package:flutter/widgets.dart' is required.
WidgetsFlutterBinding.ensureInitialized();
// Open the database and store the reference.
final database = openDatabase(
// Set the path to the database. Note: Using the `join` function from the
// `path` package is best practice to ensure the path is correctly
// constructed for each platform.
join(await getDatabasesPath(), 'doggie_database.db'),
);
// File path to a file in the current directory
String dbPath = 'sample.db';
DatabaseFactory dbFactory = databaseFactoryIo;
// We use the database factory to open the database
Database db = await dbFactory.openDatabase(dbPath);
3条答案
按热度按时间snz8szmq1#
您可以像这样初始化数据库
当然,您需要根据所需的数据库结构修改SQL命令。初始化后,您可以执行所有数据库操作。但不要忘记在最后通过以下方式关闭连接
更多信息可以在
sqflite
包的documentation page上找到。这通常是开始研究的好地方。wydwbb8l2#
在向数据库阅读和写入数据之前,请打开与数据库的连接。这涉及两个步骤:
使用sqflite包中的getDatabasePath()和path包中的join函数定义数据库文件的路径。使用sqflite中的openDatabase()函数打开数据库。
注意:为了使用关键字await,代码必须放在异步函数中。你应该把下面所有的表函数放在void main()async {}中。
https://docs.flutter.dev/cookbook/persistence/sqlite
gwbalxhn3#
打开数据库
数据库是由文件系统中的路径表示的单个文件
db对象已准备就绪。
更多信息Here .