Untitled
unknown
plain_text
2 years ago
6.1 kB
6
Indexable
import 'dart:io'; import 'package:d_info_project/pages/personalinformation/controller/data_controller.dart'; import 'package:flutter/cupertino.dart'; import 'package:get/get.dart'; import 'package:path/path.dart'; import 'package:path_provider/path_provider.dart'; import 'package:sqflite/sqflite.dart'; class DatabaseHelper { DataController _dataController = Get.put(DataController()); static const dbname = 'user.db'; static const dbversion = 1; static const Columnid = 'id'; //property static const who = 'name'; static const user = 'user'; static const userRelation = 'user_relation'; static const relation = 'relation'; static const firstpage = 'firstpage'; static const secondpage = 'secondpage'; //tables name static const nidtable = 'nid'; static const passportTable = 'passport'; static const birthCertificateTable = 'dob'; static const drivingLicenceTable = 'drivingLicence'; static const citizenTable = 'citizen'; static const marriageTable = 'marriage'; static const successionTable = 'succession'; //userList static const StringName = 'name'; static const foreginKey = 'id'; static Database? _database; DatabaseHelper.privateConstructor(); static final DatabaseHelper instances = DatabaseHelper.privateConstructor(); Future<Database> get database async { if (_database != null) return _database!; _database = await _initDatabase(); return _database!; } _initDatabase() async { Directory directory = await getApplicationDocumentsDirectory(); String path = join(directory.path, dbname); return await openDatabase(path, version: dbversion, onCreate: _onCreate); } Future _onCreate(Database db, int version) async { // await db.execute(''' // CREATE TABLE $userListTable ( // $Columnid INTEGER PRIMARY KEY, // $who TEXT NOT NULL // ) // '''); // db.insert(userListTable, {'name': 'own'}); await db.execute(''' CREATE TABLE $nidtable ( $user TEXT, $who TEXT NOT NULL, $userRelation TEXT NOT NULL, $relation TEXT NOT NULL, $firstpage TEXT, $secondpage TEXT ) '''); await db.execute(''' CREATE TABLE $passportTable ( $user TEXT, $who TEXT NOT NULL, $userRelation TEXT NOT NULL, $relation TEXT NOT NULL, $firstpage TEXT, $secondpage TEXT ) '''); await db.execute(''' CREATE TABLE $birthCertificateTable ( $user TEXT, $who TEXT NOT NULL, $userRelation TEXT NOT NULL, $relation TEXT NOT NULL, $firstpage TEXT, $secondpage TEXT ) '''); await db.execute(''' CREATE TABLE $drivingLicenceTable ( $user TEXT, $who TEXT NOT NULL, $userRelation TEXT NOT NULL, $relation TEXT NOT NULL, $firstpage TEXT, $secondpage TEXT ) '''); await db.execute(''' CREATE TABLE $citizenTable ( $user TEXT, $who TEXT NOT NULL, $userRelation TEXT NOT NULL, $relation TEXT NOT NULL, $firstpage TEXT, $secondpage TEXT ) '''); await db.execute(''' CREATE TABLE $marriageTable ( $user TEXT, $who TEXT NOT NULL, $userRelation TEXT NOT NULL, $relation TEXT NOT NULL, $firstpage TEXT, $secondpage TEXT ) '''); await db.execute(''' CREATE TABLE $successionTable ( $user TEXT, $who TEXT NOT NULL, $userRelation TEXT NOT NULL, $relation TEXT NOT NULL, $firstpage TEXT, $secondpage TEXT ) '''); } Future<int> insert( String tableName, BuildContext context, Map<String, dynamic> row) async { Database db = await instances.database; return await db.insert(tableName, row); } Future update(String tableName, String users, String whos, String relations,String userRelations, String? firstPages, String? secondPages) async { Database db = await instances.database; await db.rawUpdate( 'UPDATE $tableName SET $firstpage =?,$secondpage =? WHERE $user=? AND $who=? AND $relation=? AND $userRelation=?', [firstPages, secondPages, users, whos, relations,userRelations]); } Future<List<Map<String, dynamic>>> queryAllRows(String tableName) async { Database db = await instances.database; var da = await db.query(tableName); print(await db.query(tableName)); print(da.length); return await db.query(tableName); } queryForCheck() async { Database db = await instances.database; var check = await db.query(nidtable); for (var element in check) { _dataController.checkUser.add(element['user']); print('the element $element'); } print(_dataController.checkUser); } Future queryspecic(String tableName, String searchUser, String searchWho,String searchRelation, String searchUserRelation) async { Database db = await instances.database; var res = await db.query(tableName, columns: [ user, who, userRelation, relation, firstpage, secondpage, ], where: '$user=? and $who=? and $relation=? and $userRelation=?', whereArgs: [searchUser, searchWho, searchRelation,searchUserRelation]); print('i am the res ${res}'); return res; } Future updateName( String tableName, String whos, ) async { Database db = await instances.database; await db.rawUpdate('UPDATE $tableName SET $who =? WHERE $who=?', [ whos, ]); } }
Editor is loading...