【问题标题】:Flutter add multiple Sqlite tables, + table calendarFlutter添加多个Sqlite表,+表日历
【发布时间】:2020-08-26 06:11:26
【问题描述】:
  1. 我有一个名为“vocas”的表,但我需要再添加一个名为“repeat”的表。经过搜索,发现可以添加多个db.execute的表,但是如何更改代码return db.execute?我是 Flutter 新手,请帮我改一下。
  Future<Database> get database async {
    if (_db != null) return _db;
    _db = openDatabase(
      join(await getDatabasesPath(), 'vocas.db'),
      onCreate: (db, version) {
        return db.execute(
          "CREATE TABLE vocas(id TEXT PRIMARY KEY, word TEXT, meaning TEXT, createTime TEXT)",
        );
      },
      version: 1,
    );
    return _db;
  }
  1. 我想添加的表'repeat'将像这样使用函数table calendar。那么,能不能用Sqlite做表呢?在 [repeat] 列表中,是否也可以使用 Sqlite 在列表中添加项目?提前致谢。
repeat = {
           DateTime(2020, 8, 23) : ['repeat3'],            
           DateTime(2020, 8, 24) : ['repeat2', 'repeat4'], 
           DateTime(2020, 8, 25) : ['repeat1', 'repeat2', 'repeat3'], 
           DateTime(2020, 8, 26) : ['repeat3', 'repeat4'],
} 

【问题讨论】:

    标签: sqlite flutter calendar


    【解决方案1】:

    对于您的第一个问题,您可以只使用db.execute() 而不是return db.execute() 来创建多个表。

    Future<Database> database() async {
        return openDatabase(
          join(await getDatabasesPath(), "calendar.db"),
          onCreate: (db, version) async {
            await db.execute(
              "CREATE TABLE tasks (id INTEGER PRIMARY KEY, Activity TEXT)",
            );
            await db.execute(
              "CREATE TABLE progress (id INTEGER PRIMARY KEY, Center REAL, Left REAL, Right REAL)",
            );
            await db.execute(
              "CREATE TABLE userInfo (id INTEGER PRIMARY KEY, Name TEXT, Gender TEXT)",
            );
            return db;
          },
          version: 1,
        );
      }
    

    不确定你的第二个问题是什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-23
      • 2020-06-02
      • 1970-01-01
      • 1970-01-01
      • 2019-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多