建立能网上交易的网站多少钱,wordpress 提交插件,网站布局设计自适应,毕业设计旅游网站开发目录
引言
安装sqflite
创建表
查询数据
添加数据
删除数据
更新数据
完整使用案例 引言 随着移动应用的发展#xff0c;本地数据存储成为了一个不可或缺的功能。在Flutter中#xff0c;sqflite 是一个非常流行且强大的SQLite插件#xff0c;它允许开发者在移动设备…目录
引言
安装sqflite
创建表
查询数据
添加数据
删除数据
更新数据
完整使用案例 引言 随着移动应用的发展本地数据存储成为了一个不可或缺的功能。在Flutter中sqflite 是一个非常流行且强大的SQLite插件它允许开发者在移动设备上轻松地进行数据库操作。本文将通过具体的使用案例详细介绍如何在Flutter项目中集成和使用 sqflite 进行数据存储和查询。 安装sqflite
首先你需要在 pubspec.yaml 文件中添加 sqflite 依赖
dependencies:flutter:sdk: fluttersqflite: ^2.3.31
然后运行 flutter pub get 来安装依赖或者直接执行下面的命令 flutter pub add sqflite 创建表
// 创建表Futurevoid _onCreate(Database db, int version) async {await db.execute(CREATE TABLE Domain (id INTEGER PRIMARY KEY AUTOINCREMENT,url TEXT));} 查询数据
// 查看表的数据FutureListMapString, dynamic getItemsFromTable() async {Database db await database;return await db.query(Domain);}
// 查看存在某一条数据Futurebool checkIfQrExists(String url) async {Database db await database;ListMapString, dynamic results await db.query(Domain,where: url ?,whereArgs: [url],);return results.isNotEmpty;} 添加数据
Futurevoid insertDomain(String url) async {Database db await database;await db.insert(Domain, {url: url,});} 删除数据
Futurevoid deleteUrl(String url) async {final db await database;await db.delete(Domain,where: url ?,whereArgs: [url],);
} 更新数据
Futurevoid updateUrl(MapString, dynamic domain, String url) async {final db await database;await db.update(Domain,domain,where: url ?,whereArgs: [url],);
} 完整使用案例
import package:sqflite/sqflite.dart;
import package:path/path.dart;class DatabaseHelper {static final DatabaseHelper _instance DatabaseHelper._internal();factory DatabaseHelper() _instance;static Database? _database;static const int databaseVersion 2;DatabaseHelper._internal();FutureDatabase get database async {if (_database ! null) return _database!;_database await _initDatabase();return _database!;}FutureDatabase _initDatabase() async {// 初始化操作String path join(await getDatabasesPath(), app_database.db);return await openDatabase(path,version: databaseVersion,onCreate: _onCreate,onUpgrade: _onUpgrade,);}// 创建表Futurevoid _onCreate(Database db, int version) async {await db.execute(CREATE TABLE Domain (id INTEGER PRIMARY KEY AUTOINCREMENT,url TEXT));}Futurevoid _onUpgrade(Database db, int oldVersion, int newVersion) async {print(版本号为$oldVersion);if (oldVersion 2) {// 更新数据库的操作}}// 查看表的数据FutureListMapString, dynamic getItemsFromTable() async {Database db await database;return await db.query(Domain);}// 查看存在某一条数据Futurebool checkIfQrExists(String url) async {Database db await database;ListMapString, dynamic results await db.query(Domain,where: url ?,whereArgs: [url],);return results.isNotEmpty;}// 增加一条数据Futurevoid insertDomain(String url) async {Database db await database;await db.insert(Domain, {url: url,});}// 更新一条数据Futurevoid updateUrl(MapString, dynamic domain, String url) async {final db await database;await db.update(Domain,domain,where: url ?,whereArgs: [url],);}
}使用时 DatabaseHelper dbHelper DatabaseHelper();Futurevoid getDatabaseData() async {ListMapString, dynamic data await dbHelper.getItemsFromTable();for (var item in data) {print(Item: ${item.toString()});}}