Flutter应用-使用sqflite升级数据库
import 'package:sqflite/sqflite.dart';
import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';
// 定义数据库版本号
const int _databaseVersion = 1;
// 定义数据库名称
const String _databaseName = 'my_database.db';
// 初始化数据库
Future<Database> initializeDatabase() async {
// 获取数据库路径
final databasePath = await getDatabasesPath();
final path = join(databasePath, _databaseName);
// 打开或创建数据库
return await openDatabase(path, version: _databaseVersion, onCreate: (database, version) {
// 创建表
return database.execute('''
CREATE TABLE $tableName (
$columnId INTEGER PRIMARY KEY AUTOINCREMENT,
$columnName TEXT,
$columnAge INTEGER
)
''');
});
}
// 使用示例
void main() async {
// 初始化数据库
final Database db = await initializeDatabase();
// 插入数据
await db.insert(tableName, <String, dynamic>{
columnName: 'John Doe',
columnAge: 30,
});
// 查询数据
final List<Map<String, dynamic>> maps = await db.query(tableName);
// 输出结果
print(maps);
// 关闭数据库
db.close();
}
这个代码示例展示了如何在Flutter应用中使用sqflite包来管理数据库的创建和升级。首先,我们定义了数据库的版本号和名称。然后,我们使用异步函数获取数据库路径并打开或创建数据库,在创建时定义了数据表的结构。最后,我们演示了如何插入、查询数据库中的数据,并在完成操作后关闭数据库。
评论已关闭