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

как да вмъкнете няколко реда в sqlite android

По-добра структура би била да създадете препратка към db извън метода и да я предадете като препратка:

SQLiteDatabase db = this.getWritableDatabase();
db.beginTransaction();

// your for loop

db.setTransactionSuccessful();
db.endTransaction();

==============Моля, проверете по-долу кое се използва за вмъкване на няколко реда:

// adb is SQLiteOpenHelper
JSONObject jsonObject = new JSONObject(response);
JSONArray foodsessions = jsonObject.getJSONArray("foodsessions");
int length = foodsessions.length();

for (int i = 0; i < length; i++) {
    JSONObject o = foodsessions.getJSONObject(i);
    String session = session_object.getString("sessionname");
    String start_time = session_object.getString("start_time");
    String end_time = session_object.getString("end_time");
    String session_id = session_object.getString("id");    

    SQLiteDatabase db = adb.getWritableDatabase();

    ContentValues newValues = new ContentValues();
    newValues.put(adb.ATTRIBUTE_session, session);
    newValues.put(adb.ATTRIBUTE_start_time, start_time);
    newValues.put(adb.ATTRIBUTE_end_time, end_time);
    newValues.put(adb.ATTRIBUTE_session_id, session_id);

    long res = db.insertWithOnConflict(adb.TABLE_NAME, null, newValues, SQLiteDatabase.CONFLICT_REPLACE);
    db.close();
}

По-доброто решение е избягването на използването на необработена заявка, ако може да се направи чрез метода, предоставен от SQLiteDatabase .



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

  2. Премахване на дублиращи се редове от таблица

  3. MySQL Workbench не може да се свърже с локална услуга MySQL на MAC OSX

  4. Неуспешно изграждане на mysql конектор/c (libmysql) от източник в cygwin

  5. c++ mysql връзка bad_alloc с помощта на c++ конектор