I use the code below, I run only one request.
public void addListRecord(List<Province> list) { SQLiteDatabase db = DatabaseManager.getInstance().openDatabase(); try { String sql = " INSERT INTO " + TABLE_PROVINCE + " (" + COL_PROVINCE_ID + "," + COL_PROVINCE_NAME + "," + COL_PROVINCE_STATUS + ") VALUES "; String value = ""; for (Province item : list) { value += "('" + item.getId() + "'," + "'" + item.getName() + "'," + "'" + item.getStatus() + "')"; value += ","; } value = Utils.removeLastChar(value); value += ";"; String mQuery = sql + value; Logger.debug("mQuery: " + mQuery); SQLiteStatement statement = db.compileStatement(mQuery); statement.execute(); } catch (SQLException e) { Logger.debug("SQLException Error: " + e); } finally { DatabaseManager.getInstance().closeDatabase(); } } public static String removeLastChar(String s) { if (s == null || s.length() == 0) { return s; } return s.substring(0, s.length() - 1); }
source share