import 'package:sqflite/sqflite.dart'; import 'package:sqflite_pust_local_notification/models/task_model.dart'; class DBHelper { static Database? _db; static final int _version = 1; static final String _tableName = "tbtask"; static final String _DbName = "task.db"; static Future initDb() async { if (_db != null) { return; } try { String _path = await getDatabasesPath() + _DbName; _db = await openDatabase( _path, version: _version, onCreate: (db, version) { return db.execute( "CREATE TABLE $_tableName(" "id INTEGER PRIMARY KEY AUTOINCREMENT," "title STRING, note TEXT, date STRING," "startTime STRING, endTime STRING," "remind INTEGER, repeat STRING," "color INTEGER, " "isCompleted INTEGER)", ); }, ); } catch (ex) { print(ex); } } static Future insert(TaskModel? task) async { return await _db?.insert(_tableName, task!.toJson()) ?? 1; } static Future>> query() async { return await _db!.query(_tableName); } static delete(TaskModel taskModel) async { return await _db! .delete(_tableName, where: 'id=?', whereArgs: [taskModel.id]); } static update(int id) async { return await _db!.rawUpdate(''' UPDATE tbtask SET isCompleted = ? WHERE id = ? ''', [1, id]); } }