SQLite
 sql >> база данни >  >> RDS >> SQLite

Извиква ли се някога методът onUpgrade?

За тези от вас, които биха искали да знаят точния момент, когато onUpgrade() се извиква, то е по време на извикване към getReadableDatabase() или getWriteableDatabase() .

За тези, които не са наясно как гарантира, че се задейства, отговорът е:Задейства се, когато версията на базата данни е предоставена на конструктора на SqLiteOpenHelper се актуализира. Ето един пример

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
}

сега към...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. Как да изчислим разликата между две дати в SQLite

  2. SQLite въвежда функцията UNIXEPOCH().

  3. SQLiteDiskIOException с код за грешка 10:грешка в дисковия вход/изход

  4. Как работи функцията DateTime() в SQLite

  5. SQLite - JOIN изявления