SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Spowodowane przez:android.database.sqlite.SQLiteException:brak takiej tabeli:(kod 1) Android

Problem polega na tym, że niektóre urządzenia aktualizują Twoją aplikację, więc checkDataBase() zwracanie true , więc nie wywołujesz copyDataBase() . Czyli używasz poprzedniej bazy danych, która nie ma generalSettings table.Aby rozwiązać ten problem:

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if(newVersion>oldVersion)
  copyDatabase();
}

a także zaktualizuj swojego konstruktora:

public InstallDB(Context context, String name) {
    super(context, name, null, DB_VERSION); 
    // DB_VERSION is an int,update it every new build

    this.ctx = context;
    this.DBNAME = name;
    this.DBPATH = this.ctx.getDatabasePath(DBNAME).getAbsolutePath();
    Log.e("Path 1", DBPATH);

}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Radzenie sobie z konfliktami kluczy podstawowych podczas wstawiania danych do SQLite

  2. Co to jest przeglądarka SQLite i jak z niej korzystać?

  3. Android z pokojem - Jak ustawić klucz obcy, który może być nullable

  4. Usunąć wiele wierszy przy użyciu identyfikatorów?

  5. Jak używać klasy databasehelper w klasie asynctask pracującej na innej klasie?