flutter sqflite(1)

数据库和excel的使用是一样的,确定路径,新建文件,绘制表格,填入数据

第0步 导入库

pubspec.ymal中添加依赖

dependencies:
  # 数据库
  sqflite: ^2.2.8+4

文件中引用

import 'package:sqflite/sqflite.dart';

第一步 找位置

方法1:默认的位置

String databasesPath = await getDatabasesPath();

方法2:用path_provider自定义一个位置

// 用getApplicationSupportDirectory() 是来自于path_provider的方法,
// 返回系统分配给程序专属访问的空间的路径,返回的是一个Directory类型的对象,
// 用.then((value)=>{})的方式把得到的Directory类型对象转换成String类型,
// 用 join 方法拼接得到路径字符串
String directory = await getApplicationSupportDirectory()
						.then((value) =>value.path);
// 拼接路径和自定义的名字
String path = join(directory, dataBaseName);

第二步 建库

数据库和excel类比

数据库软件excel软件
xxx数据库xxx.xls
tabs表单

和使用excel不能说毫无二致,只能说一模一样
打开 “某某某数据库” 意思就是打开 “某某某.xls” 文件,

使用创建方法openDatabase,该方法即是打开也是创建
数据库已存在则打开,没有则按照路径参数创建
若路径参数相同,不会重复创建,
若路径参数相同,返回数据库单例,并且自动丢弃其它参数
只有路径参数是必须的,其他的可以再改(具体细节阅读文档)

_database = await openDatabase(path,//相当于在某一路径新建 .xls文件
  
  // 以下参数都可以不写,不写的话,该方法相当于创建一个空的.xls文件
  version: 1, 
  onCreate:(Database db, int newVersion)async{//第一张表的结构
    await db.execute('''
      CREATE TABLE USER_TABLE(            
      id INTEGER PRIMARY KEY AUTOINCREMENT,
      name TEXT,
      password TEXT,
      age INTEGER)
    ''');
  }
);

第三步 建表

大多数的方式是第二步建库和建表一并完成,上文在第二步中也是这么写的,这里再单独多写一步建表

Future<void> creattab()async{
    _database.execute(建表的sql语句);
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值