sql >> Database teknologi >  >> RDS >> Mysql

hvordan man indsætter flere rækker i sqlite android

En bedre struktur ville være at oprette en db-reference uden for metoden og sende den som en reference:

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

// your for loop

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

==============Tjek venligst nedenfor, hvilken der bruges til at indsætte flere rækker:

// 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();
}

En bedre løsning er at undgå at bruge rå forespørgsel, hvis det kan gøres ved hjælp af metoden leveret af SQLiteDatabase .



  1. Personsøgning med Oracle

  2. mysql rækkefølge efter serialiserede data?

  3. Login til Microsoft SQL Server Fejl:18456

  4. Skift separatoren til et komma i SQLite-forespørgselsresultater