flutter sqflite(1)

文章介绍了如何在Flutter应用中使用sqflite库来操作数据库,包括获取数据库路径、创建数据库、建立表单,以及执行SQL语句。通过对比Excel,解释了数据库的创建和使用过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库和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语句);
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值