返回
用SQFlite访问本地数据库
Android
2023-10-11 07:24:45
简介
在Flutter中,我们可以使用SQFlite插件来访问本地数据库。SQFlite是一个轻量级、高性能、跨平台的数据库库,它支持SQLite数据库引擎,在Flutter中使用它可以很方便地进行数据存储和管理。
添加依赖
在使用SQFlite之前,我们需要先在pubspec.yaml文件中添加依赖:
dependencies:
sqflite: ^2.0.0+4
然后运行flutter pub get
命令来安装依赖。
创建数据库
创建数据库的代码如下:
import 'package:sqflite/sqflite.dart';
Future<Database> createDatabase() async {
// 打开数据库或创建新数据库
return await openDatabase(
// 数据库路径
'my_database.db',
// 数据库版本
version: 1,
// 创建数据库
onCreate: (db, version) async {
// 创建表
await db.execute(
'CREATE TABLE tasks (id INTEGER PRIMARY KEY, name TEXT, description TEXT, completed INTEGER)');
},
);
}
创建表
在创建了数据库之后,我们可以创建表。创建表的代码如下:
import 'package:sqflite/sqflite.dart';
Future<void> createTable(Database db) async {
// 创建表
await db.execute(
'CREATE TABLE tasks (id INTEGER PRIMARY KEY, name TEXT, description TEXT, completed INTEGER)');
}
表的增删改查
在创建了表之后,我们可以对表进行增删改查操作。
插入数据
插入数据的代码如下:
import 'package:sqflite/sqflite.dart';
Future<void> insertData(Database db, String name, String description) async {
// 插入数据
await db.rawInsert(
'INSERT INTO tasks (name, description, completed) VALUES (?, ?, 0)',
[name, description]);
}
查询数据
查询数据的代码如下:
import 'package:sqflite/sqflite.dart';
Future<List<Map<String, dynamic>>> queryData(Database db) async {
// 查询数据
return await db.rawQuery('SELECT * FROM tasks');
}
更新数据
更新数据的代码如下:
import 'package:sqflite/sqflite.dart';
Future<void> updateData(Database db, int id, String name, String description) async {
// 更新数据
await db.rawUpdate(
'UPDATE tasks SET name = ?, description = ? WHERE id = ?', [name, description, id]);
}
删除数据
删除数据的代码如下:
import 'package:sqflite/sqflite.dart';
Future<void> deleteData(Database db, int id) async {
// 删除数据
await db.rawDelete('DELETE FROM tasks WHERE id = ?', [id]);
}
总结
本文介绍了如何使用SQFlite在Flutter中访问本地数据库,包括数据库的创建、表的增删改查等基本操作。希望本文能够帮助开发者掌握Flutter数据库编程的基本技能。