在Flutter中使用SQFlite进行CRUD

g2ieeal7  于 2023-06-24  发布在  Flutter
关注(0)|答案(1)|浏览(146)

你好,我做了一个应用程序,可以在SQFlite中写入和删除文件。但我需要帮助更新现有条目。我会把代码贴在下面。
对于Create我使用了-db.insert('todo',{'id': newTodo.id,'description': newTodo.description,'isDone': newTodo.isDone == true ? 'true' : 'false',},);
对于删除,我使用了-final db = await _getDatabse(); await db.rawDelete('DELETE FROM todo WHERE id = ?',[deleatableTodo.id],);
我应该做什么来更新待办事项?

lx0bsm1f

lx0bsm1f1#

// Update an item by id
  static Future<int> updateItem(
      int id, String? descrption, String? isDone) async {
    final db = await SQLHelper.db();

    final data = {
      'description': descrption,
      'isDone': : newTodo.isDone == true ? 'true' : 'false'
    };

    final result =
        await db.update('items', data, where: "id = ?", whereArgs: [id]);
    return result;
  }

使此函数:

// Update an existing journal
  Future<void> _updateItem(int id) async {
    await SQLHelper.updateItem(
        id, _titleController.text, _descriptionController.text);
    _refreshJournals(); // this is an select statement
  }

然后按下按钮时调用它:

if (id != null) {
   await _updateItem(id);
}

这里是一个视频,如果想让它作为所有操作,但它在阿拉伯语:
Complete CRUD Operations with SQLite

相关问题