sql >> Database teknologi >  >> RDS >> SQLite

Kaldes onUpgrade-metoden nogensinde?

For dem af jer, der gerne vil vide det nøjagtige tidspunkt, hvor onUpgrade() bliver kaldt, er det under et opkald til enten getReadableDatabase() eller getWriteableDatabase() .

Til dem, der ikke er klar over, hvordan den sikrer, at den bliver udløst, er svaret:Den udløses, når databaseversionen leveres til konstruktøren af ​​SqLiteOpenHelper er opdateret. Her er et eksempel

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
}

nu til...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. Hvad er T-SQL?

  2. Udforskning af MySQL Binlog Server – Ripple

  3. MySQL-fejl 1436:Overløb af trådstak med simpel forespørgsel

  4. Installation af specifikke pakkeversioner med pip