【发布时间】:2020-12-23 18:22:55
【问题描述】:
我想实现一个功能,当我滑动列表项时,它会从数据库中删除该项目。我对滑动和删除部分使用了 dismisible,但我不知道如何从数据库中删除项目。这是我的数据库帮助文件:
import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart';
import 'package:wodo/models/task.dart';
class DatabaseHelper {
Future<Database> database() async {
return openDatabase(
join(await getDatabasesPath(), 'todo_database.db'),
onCreate: (db, version) {
return db.execute(
"CREATE TABLE tasks(id INTEGER PRIMARY KEY, name TEXT, date TEXT)");
},
version: 1,
);
}
Future<void> insertTask(Task task) async {
Database _db = await database();
await _db.insert('tasks', task.toMap(),
conflictAlgorithm: ConflictAlgorithm.replace);
}
Future<List<Task>> getTasks() async {
Database db = await database();
List<Map<String, dynamic>> taskMap = await db.query('tasks');
return List.generate(taskMap.length, (index) {
return Task(
id: taskMap[index]['id'],
name: taskMap[index]['name'],
date: taskMap[index]['date']);
});
}
}
【问题讨论】:
-
您可能应该阅读一点 SQL/lite 并且可能阅读 - developer.android.com/reference/android/database/sqlite/… 如果可以(除非必要)避免自己构建命令
标签: android sqlite flutter sqflite flutter-listview