SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Android:Chèn hàng loạt, khi InsertHelper không được dùng nữa

SQLiteStatement cũng có các phương thức ràng buộc, nó mở rộng SQLiteProgram.

Chỉ cần chạy nó trong giao dịch:

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

CHỈNH SỬA

Tôi không thể tìm thấy giải pháp hay trong SQLiteQueryBuilder nhưng nó đơn giản như:

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. Làm thế nào để chuyển đổi mili giây sang ngày tháng trong SQLite

  2. Cách hoạt động của SQLite Upper ()

  3. SQLiteDatabase android IllegalStateException

  4. android.database.CursorIndexOutOfBoundsException

  5. Hiển thị dữ liệu từ cơ sở dữ liệu bằng cách sử dụng bộ điều hợp cơ sở và chế độ xem danh sách