SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Fügen Sie Daten nur einmal zur SQLite-Datenbank hinzu und lesen Sie sie mehrmals

in SQLiteOpenHelper gibt es eine Methode, die nur einmal aufgerufen wird, es ist die onCreate Methode. Wenn Sie also nur einmal Daten zur DB hinzufügen müssen, müssen Sie dies innerhalb dieser Methode tun.

Aber wenn Sie aus irgendeinem Grund mehr Daten zur Datenbank hinzufügen möchten, können Sie dies in onUpgrade tun Methode diesmal.

Nehmen Sie dieses einfache Beispiel:

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
  }

}