SQLite
 sql >> Base de données >  >> RDS >> SQLite

Ajouter des données à la base de données sqlite une seule fois et lire plusieurs fois

dans SQLiteOpenHelper, il existe une méthode appelée une fois et une seule fois, c'est le onCreate méthode. donc si vous avez besoin d'ajouter des données à la base de données une seule fois, vous devez le faire à l'intérieur de cette méthode.

Mais si pour une raison quelconque vous souhaitez ajouter plus de données à la base de données, vous pouvez le faire dans onUpgrade méthode cette fois.

prenez cet exemple simple :

public class DatabaseHandler extends SQLiteOpenHelper {

  private static final String DATABASE_NAME = "dbName";
  private static final int DATABASE_VERSION = 1;

  private static final String TABLE_NAME = "tableName";

  public MySQLiteHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
  }

  //this function called only once ever in the life of the app
  @Override
  public void onCreate(SQLiteDatabase database) {
    //Create database query
    database.execSQL("create table " + TABLE_NAME + " (column1 type, columun2 type...); ");

    //Insert query
    database.execSQL("insert into " + TABLE_NAME + " values(value1,value2...);");
    database.execSQL("insert into " + TABLE_NAME + " values(value1,value2...);");
    database.execSQL("insert into " + TABLE_NAME + " values(value1,value2...);");
    database.execSQL("insert into " + TABLE_NAME + " values(value1,value2...);");
  }

  @Override
  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    //add more insert query if you need to add more datas after, but you have first to upgrade your DATABASE_VERSION to a higher number
  }

}