import 'package:path/path.dart'; import 'package:sqflite/sqflite.dart'; import '../model/student.dart'; class DatabaseHelper { static final DatabaseHelper instance = DatabaseHelper._instance(); static Database? _database; DatabaseHelper._instance(); Future get db async { _database ??= await initDb(); return _database!; } Future initDb() async { String databasesPath = await getDatabasesPath(); String path = join(databasesPath, 'geeksforgeeks.db'); return await openDatabase(path, version: 1, onCreate: _onCreate); } Future _onCreate(Database db, int version) async { await db.execute(''' CREATE TABLE gfg_users ( id INTEGER PRIMARY KEY, username TEXT, email TEXT ) '''); } Future insertUser(User user) async { Database db = await instance.db; return await db.insert('gfg_users', user.toMap()); } Future>> queryAllUsers() async { Database db = await instance.db; return await db.query('gfg_users'); } Future updateUser(User user) async { Database db = await instance.db; return await db.update('gfg_users', user.toMap(), where: 'id = ?', whereArgs: [user.id]); } Future deleteUser(int id) async { Database db = await instance.db; return await db.delete('gfg_users', where: 'id = ?', whereArgs: [id]); } Future initializeUsers() async { List usersToAdd = [ User(username: 'John', email: 'john@example.com'), User(username: 'Jane', email: 'jane@example.com'), User(username: 'Alice', email: 'alice@example.com'), User(username: 'Bob', email: 'bob@example.com'), ]; for (User user in usersToAdd) { await insertUser(user); } } }