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

Czy kiedykolwiek wywołano metodę onUpgrade?

Dla tych z Was, którzy chcieliby poznać dokładny moment, w którym onUpgrade() zostanie wywołany, to jest podczas wywołania albo getReadableDatabase() lub getWriteableDatabase() .

Dla tych, którzy nie są pewni, w jaki sposób jest on uruchamiany, odpowiedź brzmi:Jest uruchamiany, gdy wersja bazy danych jest dostarczana do konstruktora SqLiteOpenHelper jest zaktualizowane. Oto przykład

public class dbSchemaHelper extends SQLiteOpenHelper {

private String sql;
private final String D_TAG = "FundExpense";
//update this to get onUpgrade() method of sqliteopenhelper class called
static final int DB_VERSION = 2; 
static final String DB_NAME = "fundExpenseManager";

public dbSchemaHelper(Context context) {
    super(context, DB_NAME, null, DB_VERSION);
    // TODO Auto-generated constructor stub
}

teraz do... onUpgrade()

@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
    sql = "ALTER TABLE " + fundExpenseSchema.Expense.TABLE_NAME + " ADD COLUMN " + fundExpenseSchema.Expense.FUNDID + " INTEGER";
    arg0.execSQL(sql);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Automatycznie generuj klucz złożony w SQLite

  2. Jak działa AUTOINCREMENT w SQLite

  3. Jak używać _COUNT w BaseColumns?

  4. Najlepsza praktyka wdrażania bezpiecznej bazy danych dla urządzenia z systemem Android

  5. WinDeath w powiadomieniuDataSetChanged()