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

Добавете данни към базата данни sqlite само веднъж и прочетете няколко пъти

в SQLiteOpenHelper има метод, който се извиква веднъж и само веднъж, това е onCreate метод. така че ако трябва да добавите данни към БД само веднъж, трябва да го направите в този метод.

Но ако по някаква причина искате да добавите повече данни към DB, можете да го направите в onUpgrade този път.

вземете този прост пример:

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
  }

}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да избегнете използването на + в номера на версията със SQLiteAssetHelper

  2. IllegalStateException:базата данни вече е затворена (с помощта на ViewPager)

  3. java.util.MissingFormatArgumentException:Спецификатор на формат:s

  4. execSQL:bindargs по-добър ли е?

  5. Ще се влоши ли производителността на SQLite, ако размерът на базата данни е по-голям от 2 гигабайта?