我正在尝试建立一个笔记应用程序。我在sqflite上看了一些教程,以便在应用程序终止后保存数据。我已经设法保存了数据,但我无法删除数据。
下面是我创建的DBelper类:
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);
}
}下面是我保存数据的方法:
onPressed: () {
Provider.of<Notes>(context, listen: false)
.addNote(newNoteTitle, newNoteText);
DBHelper.insert('user_notes',
{'title': newNoteTitle, 'text': newNoteText});
Navigator.pop(context);
},我一直在尝试创建DBHelper.deleteNote,但即使我设法编写了一些代码而没有错误,也不会删除任何内容。提前感谢您的帮助
发布于 2020-08-31 08:26:15
如果你只是想删除一个笔记,那么你可以使用它的id,如下所示:
deleteNote(String id) async {
final db = await DBHelper.databse();
db.delete('user_notes', where: 'id = ?', whereArgs: [id]);
}https://stackoverflow.com/questions/63662119
复制相似问题