sqflite插件简单使用


sqflite是github上tekartik提供的可供Android和iOS使用的SQLite插件,操作也是非常的简单.

下载

dependencies:
  
  ...

  sqflite: ^1.1.0

导入

import 'package:sqflite/sqflite.dart';

用SQL进行操作

获取资源存放位置

import 'package:path/path.dart';
// join 使用这个包

String _path = '';

Future getPath() async {
  return await getDatabasesPath();
}

// 使用
getPath().then((path) {
  setState(() {
    _path = join(path.toString(), 'demo.db');
  });
});

建表

Database _database;
Future createDB() async {
    _database = await openDatabase(
      _path,
      version: 1,
      onCreate: (db, version) async {
        await db.execute(
            'CREATE TABLE demo(id INTEGER PRIMARY KEY, name TEXT, value INTEGER, num REAL)');
      },
    );
  }

插入一条数据

_database.transaction((txn) async {
  await txn.rawInsert(
     'INSERT INTO demo(name, value, num) VALUES("some name", 1234, 456.789)');
})

查询数据

Future<List> query() async {
    return await _database.rawQuery('SELECT * FROM demo');
  }

修改数据

Future update() async {
    return await _database.rawUpdate(
        'UPDATE demo SET name = ?, VALUE = ? WHERE name = ?',
        ['updated name', '9876', 'some name']);
  }

删除一条数据

Future delete() async {
    return await _database
        .rawDelete('DELETE FROM demo WHERE 1 ORDER BY id LIMIT 1');
  }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM