I got issue when i wanna create db to sqflite, DatabaseException(Error Domain=FMDatabase Code=1 "no such table)

Viewed 78

I wanna create db with sqflite but this no create and show something issue, Unhandled Exception: DatabaseException(Error Domain=FMDatabase Code=1 "no such table: todo" UserInfo={NSLocalizedDescription=no such table: todo}) sql 'SELECT * FROM todo WHERE id = ?' args [11], oke let's check it my db helper :

db helper

import 'package:sqflite/sqflite.dart';

import 'model.dart';

class DatabaseHelper {
  //singleton base
  static DatabaseHelper? _instance;
  DatabaseHelper._internal() {
    _instance = this;
  }
  factory DatabaseHelper() => _instance ??= DatabaseHelper._internal();

  //TODO: add database name
  static late Database _database;
  //TODO: add get database
  Future<Database> get databse async {
    _database = await _initializeDatabase();
    return _database;
  }

  //TODO: add db name
  static String _tableName = 'todo';

  //TODO: initialize db
  Future<Database> _initializeDatabase() async {
    final path = await getDatabasesPath();
    final db = openDatabase('notes.db', version: 1, onCreate: (db, version) {
      version:
      1;
      db.execute('''CREATE TABLE $_tableName(
        id INTEGER PRIMARY KEY,
        title TEXT,
        description TEXT, 
      )''');
    });

    return db;
  }

  Future<void> insertData(Note note) async {
    final Database db = await databse;
    List<Map<String, dynamic>> result = await db.query(
      _tableName,
      where: 'id = ?',
      whereArgs: [note.id],
    );
    await db.insert(_tableName, note.toJson());
  }

  //get
  Future<List<Note>> getAllNotes() async {
    final Database db = await databse;
    List<Map<String, dynamic>> result = await db.query(_tableName);
    return result.map((e) => Note.fromJson(e)).toList();
  }
}
0 Answers
Related