首页 > 其他 > 详细

sqflite常用操作

时间:2021-05-04 23:43:34      阅读:40      评论:0      收藏:0      [点我收藏+]
import ‘package:sqflite/sqflite.dart‘;

//
Get a location using getDatabasesPath var databasesPath = await getDatabasesPath(); String path = join(databasesPath, demo.db); // Delete the database await deleteDatabase(path); // open the database 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)); }); // Insert some records in a transaction await database.transaction((txn) async { int id1 = await txn.rawInsert( INSERT INTO Test(name, value, num) VALUES("some name", 1234, 456.789)); print(inserted1: $id1); int id2 = await txn.rawInsert( INSERT INTO Test(name, value, num) VALUES(?, ?, ?), [another name, 12345678, 3.1416]); print(inserted2: $id2); }); // Update some record int count = await database.rawUpdate( UPDATE Test SET name = ?, value = ? WHERE name = ?, [updated name, 9876, some name]); print(updated: $count); // Get the records List<Map> list = await database.rawQuery(SELECT * FROM Test); List<Map> expectedList = [ {name: updated name, id: 1, value: 9876, num: 456.789}, {name: another name, id: 2, value: 12345678, num: 3.1416} ]; print(list); print(expectedList); assert(const DeepCollectionEquality().equals(list, expectedList)); // Count the records count = Sqflite .firstIntValue(await database.rawQuery(SELECT COUNT(*) FROM Test)); assert(count == 2); // Delete a record count = await database .rawDelete(DELETE FROM Test WHERE name = ?, [another name]); assert(count == 1); // Close the database await database.close();

 

sqflite常用操作

原文:https://www.cnblogs.com/liuys635/p/14730078.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!