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

Android:групово вмъкване, когато InsertHelper е остарял

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 заявка като INSERT оператор

  2. SQLite - Има ли разлика между ограничение на таблица UNIQUE и ограничение на колона UNIQUE?

  3. SQLite JSON_OBJECT()

  4. Могат ли записи в базата данни, добавени от елементи, да бъдат изтрити с бутон?

  5. Как работи SQLite Sum().