SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

एंड्रॉइड:बल्क इंसर्ट, जब इंसर्ट हेल्पर पदावनत हो जाता है

SQLiteStatement में बाध्यकारी विधियां भी हैं, यह SQLiteProgram का विस्तार करती है।

बस इसे लेन-देन में चलाएं:

    final SQLiteDatabase db = mOpenHelper.getWritableDatabase();
    final SQLiteStatement statement = db.compileStatement(INSERT_QUERY);
    db.beginTransaction();
    try {
        for(MyBean bean : list){
            statement.clearBindings();
            statement.bindString(1, bean.getName());
            // rest of bindings
            statement.execute(); //or executeInsert() if id is needed
        }
        db.setTransactionSuccessful();
    } finally {
        db.endTransaction();
    }

संपादित करें

मुझे SQLiteQueryBuilder में अच्छा समाधान नहीं मिल रहा है, लेकिन यह उतना ही सरल है:

final static String INSERT_QUERY = createInsert(DbSchema.TABLE_NAME, new String[]{DbSchema.NAME, DbSchema.TITLE, DbSchema.PHONE});

static public String createInsert(final String tableName, final String[] columnNames) {
    if (tableName == null || columnNames == null || columnNames.length == 0) {
        throw new IllegalArgumentException();
    }
    final StringBuilder s = new StringBuilder();
    s.append("INSERT INTO ").append(tableName).append(" (");
    for (String column : columnNames) {
        s.append(column).append(" ,");
    }
    int length = s.length();
    s.delete(length - 2, length);
    s.append(") VALUES( ");
    for (int i = 0; i < columnNames.length; i++) {
        s.append(" ? ,");
    }
    length = s.length();
    s.delete(length - 2, length);
    s.append(")");
    return s.toString();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite में किसी विशेष दिनांक/समय के बाद से सेकंड की संख्या की गणना करें

  2. एक नया कॉलम जोड़ने के बाद सक्रिय एंड्रॉइड के साथ तालिका को कैसे अपडेट करें

  3. कैसे RandomBlob () SQLite में काम करता है

  4. SQLite स्थापना

  5. तालिका नहीं बनाई जा रही sqlite android