推荐一款 Flutter 的强大 SQLite 插件:sqflite
Flutter 中的 sqflite 插件是一个强大的 SQLite 数据库插件,它提供了一个轻量级的API来与SQLite数据库交互。
以下是如何使用 sqflite 插件的基本步骤:
添加依赖项:
在
pubspec.yaml
文件中添加 sqflite 插件作为依赖项。
dependencies:
sqflite: ^1.3.2
导入包:
在你的 Dart 文件的顶部导入 sqflite 包。
import 'package:sqflite/sqflite.dart';
打开数据库:
使用
openDatabase
方法打开或创建一个数据库。
Future<Database> openDatabase() async {
// 数据库文件路径
String path = await getDatabasesPath();
String dbPath = '$path/mydatabase.db';
// 打开数据库
return await openDatabase(dbPath, version: 1, onOpen: (db) async {}, onCreate: (Database db, int version) async {
// 创建表
await db.execute('CREATE TABLE Test (id INTEGER PRIMARY KEY, name TEXT, value TEXT)');
});
}
执行数据库操作:
使用
database.execute
方法进行增删改操作,使用database.query
方法进行查询操作。
// 插入数据
Future<void> insertData(Database db, int id, String name, String value) async {
await db.execute('INSERT INTO Test (id, name, value) VALUES (?, ?, ?)', [id, name, value]);
}
// 查询数据
Future<List<Map<String, dynamic>>> queryData(Database db) async {
return await db.query('Test');
}
// 更新数据
Future<void> updateData(Database db, int id, String name, String value) async {
await db.execute('UPDATE Test SET name = ?, value = ? WHERE id = ?', [name, value, id]);
}
// 删除数据
Future<void> deleteData(Database db, int id) async {
await db.execute('DELETE FROM Test WHERE id = ?', [id]);
}
关闭数据库:
使用
database.close()
方法关闭数据库。
Future<void> closeDatabase(Database db) async {
await db.close();
}
以上就是如何使用 sqflite 插件的基本步骤。实际应用中,你可能需要添加异常处理、事务支持以及更复杂的查询构造等。
评论已关闭