首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fluttet sqfLite删除

Fluttet sqfLite删除
EN

Stack Overflow用户
提问于 2020-08-31 05:02:55
回答 1查看 27关注 0票数 0

我正在尝试建立一个笔记应用程序。我在sqflite上看了一些教程,以便在应用程序终止后保存数据。我已经设法保存了数据,但我无法删除数据。

下面是我创建的DBelper类:

代码语言:javascript
复制
import 'package:sqflite/sqflite.dart' as sql;
import 'package:path/path.dart' as path;
import 'package:sqflite/sqlite_api.dart';

class DBHelper {
  static Future<Database> databse() async {
    final dbPath = await sql.getDatabasesPath();
    return sql.openDatabase(path.join(dbPath, 'notes.db'),
        onCreate: (db, version) {
      return db.execute(
          'CREATE TABLE user_notes(id TEXT PRIMARY KEY, title TEXT, text TEXT)');
    }, version: 1);
  }

  static Future<void> insert(String table, Map<String, Object> data) async {
    final db = await DBHelper.databse();
    db.insert(
      table,
      data,
    );
  }

  static Future<List<Map<String, dynamic>>> getData(String table) async {
    final db = await DBHelper.databse();
    return db.query(table);
  }
}

下面是我保存数据的方法:

代码语言:javascript
复制
 onPressed: () {
                    Provider.of<Notes>(context, listen: false)
                        .addNote(newNoteTitle, newNoteText);
                    DBHelper.insert('user_notes',
                        {'title': newNoteTitle, 'text': newNoteText});
                    Navigator.pop(context);
                  },

我一直在尝试创建DBHelper.deleteNote,但即使我设法编写了一些代码而没有错误,也不会删除任何内容。提前感谢您的帮助

EN

回答 1

Stack Overflow用户

发布于 2020-08-31 08:26:15

如果你只是想删除一个笔记,那么你可以使用它的id,如下所示:

代码语言:javascript
复制
  deleteNote(String id) async {
    final db = await DBHelper.databse();
    db.delete('user_notes', where: 'id = ?', whereArgs: [id]);
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63662119

复制
相关文章

相似问题

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