首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振Sqflite更新

颤振Sqflite更新
EN

Stack Overflow用户
提问于 2022-02-19 23:34:41
回答 1查看 133关注 0票数 1

我需要一些新手的帮助。

我想更新数据库的一列,但我不认为哈哈.

我有一个控制器,我把我的方法,和一个助手的数据库。

帮助者的一部分:

代码语言:javascript
复制
    static Future<void> initDb() async {
    if (_db != null) {
      return;
    }
    try {
      String _path = await getDatabasesPath() + 'cities.db';
      _db = await openDatabase(
        _path,
        version: _version,
        onCreate: (db, version) {
          return db.execute(
            "CREATE TABLE $_tableName("
            "id INTEGER PRIMARY KEY AUTOINCREMENT, "
            "name STRING, code STRING, "
            "startDate STRING, startTime STRING, "
            "endDate STRING, endTime STRING, "
            "color INTEGER, isCompleted INTEGER)",
          );
        },
      );
    } catch (e) {
      print(e);
    }
  }

    static updateStatus(int id) async {
        return await _db!.rawUpdate('''
          UPDATE cities
          SET color = ?
          WHERE id = ?
        ''', [1, id]);
      }

在控制器中,我有一种方法:

代码语言:javascript
复制
void markColor(int id) async {
    await DBHelper.updateStatus(id);
    getCities();
  }

在应用程序的某个地方,我想更新字符串代码,比如markColor方法,基于屏幕上的textEditingController .我尝试了上千种不同的方法,但都没有用,有人能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2022-02-20 07:21:49

颤振中的SQFlite更新通常是通过update函数本身完成的,如下所示:

代码语言:javascript
复制
final updateCount = await db.update(
  'PEOPLE',
  {
    'FIRST_NAME': person.firstName,
    'LAST_NAME': person.lastName,
  },
  where: 'ID = ?',
  whereArgs: [person.id],
);

  1. 代码中的第一个参数PEOPLE是要更新的表的名称。
  2. 第二个参数是键和值的映射,其中键是要更新的列的名称,在本例中,'FIRST_NAME''LAST_NAME'的值是要更新的值。在这种情况下,
  3. 第三个参数< code >D11定义要更新的行,只有ID列等于您在下一步中设置的值的行。
  4. 第四个参数whereArgs是您在where参数.

中使用的参数列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71190124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档