sql >> Database >  >> RDS >> SQLite

Wordt de methode onUpgrade ooit aangeroepen?

Voor degenen onder u die het exacte moment willen weten waarop onUpgrade() wordt aangeroepen, is dit tijdens een aanroep naar getReadableDatabase() of getWriteableDatabase() .

Voor degenen die niet duidelijk zijn hoe het ervoor zorgt dat het wordt geactiveerd, is het antwoord:het wordt geactiveerd wanneer de databaseversie wordt geleverd aan de constructor van SqLiteOpenHelper is geüpdatet. Hier is een voorbeeld

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 naar...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. strtotime gebruiken voor datums vóór 1970

  2. Gegevens invoegen via een functie met tabelwaarde in SQL Server

  3. Sla nieuwe positie van RecyclerView-items op in SQLite nadat ze zijn gesleept en neergezet

  4. Kolomgegevens retourneren van een gekoppelde server in SQL Server (T-SQL-voorbeelden)