Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:address_book/database/address_database.dart';
- import 'package:address_book/database/db_conv.dart';
- import 'package:path/path.dart';
- import 'package:path_provider/path_provider.dart';
- import 'package:sqflite/sqflite.dart';
- class DatabaseHelper {
- String dbName = 'addressbook.db';
- String tbName = 'books';
- final COLUMN_ID = 'id';
- final COLUMN_Name = 'name';
- final COLUMN_Address = 'address';
- final COLUMN_Phone = 'phone';
- final COLUMN_Viber = 'viber';
- final COLUMN_Facebook = 'facebook';
- final COLUMN_Mail = 'mail';
- final COLUMN_Image = 'image';
- final COLUMN_Serial = 'serial';
- final COLUMN_Roll = 'roll';
- static DatabaseHelper? databaseHelper;
- DatabaseHelper._create();
- Database? _database;
- //Todo Check Database
- factory DatabaseHelper() {
- if (databaseHelper == null) {
- databaseHelper = DatabaseHelper._create();
- }
- return databaseHelper!;
- }
- Future<Database> getDatabase() async {
- if (_database == null) {
- _database = await initDatabase();
- }
- return _database!;
- }
- Future<Database> delSaveData(int? id) async {
- return _database!;
- }
- //todo clear database
- Future<Database> clearAllData() async {
- return _database!;
- }
- Future<Database> initDatabase() async {
- // var directory = await getDatabasesPath();
- var directory = await getApplicationDocumentsDirectory();
- var db = join(directory.path, dbName);
- return openDatabase(db, version: 1, onCreate: _create);
- }
- //Todo Id Del
- deleteData(int id) async {
- Database db = await delSaveData(id);
- return db.delete(tbName, where: 'id=?', whereArgs: [id]);
- }
- //Todo create DataBase
- Future<void> _create(Database database, version) async {
- String sql =
- 'CREATE TABLE $tbName($COLUMN_ID INTEGER PRIMARY KEY AUTOINCREMENT,$COLUMN_Name VARCHAR,$COLUMN_Address VARCHAR,$COLUMN_Phone VARCHAR,$COLUMN_Viber VARCHAR,$COLUMN_Facebook VARCHAR,$COLUMN_Mail VARCHAR,$COLUMN_Image VARCHAR,$COLUMN_Serial VARCHAR ,$COLUMN_Roll VARCHAR)';
- database.execute(sql);
- }
- //Todo Save
- Future<int> save(AddressDatabase addressDatabase) async {
- Database db = await getDatabase();
- return db.insert(tbName, addressDatabase.toMap());
- }
- //Todo Get Data
- Future<List<AddressDatabase>> getStudantData() async {
- Database db = await getDatabase();
- var bookMap = await db.query(tbName);
- List<AddressDatabase> dataList =
- bookMap.map((e) => AddressDatabase.fromMap(e)).toList();
- return dataList;
- }
- //todo Db count
- Future<int> contactCount() async {
- Database db = await getDatabase();
- //var result = await db.query(tbName);
- var x = await db.rawQuery('SELECT COUNT (*) FROM $tbName');
- int? count = Sqflite.firstIntValue(x);
- print("DB ==> $count");
- return count!;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement