@Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder(); int uriType = sURIMatcher.match(uri); switch (uriType) { case SIMPLEENTITY_DIR: queryBuilder.setTables(TABLENAME); break; case SIMPLEENTITY_ID: queryBuilder.setTables(TABLENAME); queryBuilder.appendWhere(PK + "=" + uri.getLastPathSegment()); break; default: throw new IllegalArgumentException("Unknown URI: " + uri); } Database db = getDatabase(); Cursor cursor = queryBuilder.query(((StandardDatabase) db).getSQLiteDatabase(), projection, selection, selectionArgs, null, null, sortOrder); cursor.setNotificationUri(getContext().getContentResolver(), uri); return cursor; }
@Before public void setUp() throws Exception { database = SQLiteDatabase.create(null); database.execSQL("create table " + TABLE_NAME + " (" + COL_VALUE + " TEXT, " + COL_GROUP + " INTEGER" + ")"); ContentValues values = new ContentValues(); values.put(COL_VALUE, "record1"); values.put(COL_GROUP, 1); firstRecordId = database.insert(TABLE_NAME, null, values); assertThat(firstRecordId).isGreaterThan(0L); values.clear(); values.put(COL_VALUE, "record2"); values.put(COL_GROUP, 1); long secondRecordId = database.insert(TABLE_NAME, null, values); assertThat(secondRecordId).isGreaterThan(0L); assertThat(secondRecordId).isNotEqualTo(firstRecordId); values.clear(); values.put(COL_VALUE, "won't be selected"); values.put(COL_GROUP, 2); database.insert(TABLE_NAME, null, values); builder = new SQLiteQueryBuilder(); builder.setTables(TABLE_NAME); builder.appendWhere(COL_VALUE + " <> "); builder.appendWhereEscapeString("won't be selected"); }
queryBuilder.appendWhere(TodoTable.COLUMN_ID + "=" + uri.getLastPathSegment()); queryBuilder.appendWhere(ReminderTable.COLUMN_ID + "=" + uri.getLastPathSegment());
switch (uriType) { case TRANSFERS: queryBuilder.appendWhere(TransferTable.COLUMN_PART_NUM + "=" + 0); break; case TRANSFER_ID: queryBuilder.appendWhere(TransferTable.COLUMN_ID + "=" + uri.getLastPathSegment()); break; case TRANSFER_PART: queryBuilder.appendWhere(TransferTable.COLUMN_MAIN_UPLOAD_ID + "=" + uri.getLastPathSegment()); break; case TRANSFER_STATE: queryBuilder.appendWhere(TransferTable.COLUMN_STATE + "="); queryBuilder.appendWhereEscapeString(uri.getLastPathSegment()); break;
case SINGLE_PREFERENCE: case INTERNAL_SINGLE_PREFERENCE: builder.appendWhere( TrayContract.Preferences.Columns.KEY + " = " + DatabaseUtils.sqlEscapeString(uri.getPathSegments().get(2))); if (match == SINGLE_PREFERENCE || match == INTERNAL_SINGLE_PREFERENCE) { builder.appendWhere(" AND "); builder.appendWhere( TrayContract.Preferences.Columns.MODULE + " = " + DatabaseUtils.sqlEscapeString(uri.getPathSegments().get(1)));
private static void appendAddresses(@Nonnull final SQLiteQueryBuilder qb, @Nonnull final String[] addresses) { for (final String address : addresses) { qb.appendWhereEscapeString(address.trim()); if (!address.equals(addresses[addresses.length - 1])) qb.appendWhere(","); } }
break; case EVENT_ID: queryBuilder.appendWhere(EventTable.COLUMN_ID + "=" + uri.getLastPathSegment()); break; default:
private static void appendAddresses(@Nonnull final SQLiteQueryBuilder qb, @Nonnull final String[] addresses) { for (final String address : addresses) { qb.appendWhereEscapeString(address.trim()); if (!address.equals(addresses[addresses.length - 1])) qb.appendWhere(","); } }
public void appendWhere(CharSequence inWhere) { delegate.appendWhere(inWhere); }
private SQLiteQueryBuilder getQueryBuilder(Uri uri) { SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder(); queryBuilder.setTables(DialerDatabaseHelper.Tables.VOICEMAIL_ARCHIVE_TABLE); String selectionWithId = getSelectionWithId(null, uri); if (!TextUtils.isEmpty(selectionWithId)) { queryBuilder.appendWhere(selectionWithId); } return queryBuilder; }
public Cursor query(Uri iUri, String[] iProjection, String iSelection, String[] iSelectionArgs, String iSortOrder) { SQLiteQueryBuilder mBuilder = new SQLiteQueryBuilder(); mBuilder.setTables(Database.KEY_TABLE); switch (uriMatcher.match(iUri)) { case RAW_QUERY: mBuilder.appendWhere(Database.KEY_ROWID); break; default: throw new IllegalArgumentException("Unsupported URI: " + iUri); } Cursor cursor = mBuilder.query(db, iProjection, iSelection, iSelectionArgs, null, null, iSortOrder); return cursor; }
SQLiteQueryBuilder qb = new SQLiteQueryBuilder(); SQLiteDatabase db = null; // get your database instance here. qb.setTables("table1"); qb.appendWhere("field1 = ? AND field2 = ?"); qb.query(db, new String[] { "field1" }, "enteredField3 BETWEEN field3 AND field4", new String[] { "enteredField1", "enteredField2"}, null, null, null);
SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder(); queryBuilder.setTables(TABLE1 + " JOIN " + TABLE2 + " ON (" + TABLE1 + "." + JOINCOLUMN1 + " = " + TABLE2 + "." + JOINCOLUMN2 + ")"); queryBuilder.appendWhere(TABLE1.COL1 + " = 'SOME VALUE'".....); String[] projection = { TABLE1+"."+COL1, TABLE1+"."+COL2...... }; Cursor cursor = queryBuilder.query(db, projection, null, null, null, null, null);
public Cursor getInstructionsByRecipe(Uri uri) { SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder(); queryBuilder.setTables(RecipeTable.TABLE + ", " + RecipeInstructionsTable.TABLE); queryBuilder.appendWhere(RecipeTable.ID + "='" + uri.getLastPathSegment() + "' AND " + RecipeInstructionsTable.RECIPE_ID + "=" + RecipeTable.ID); String[] projection = {RecipeInstructionsTable.NUM, RecipeInstructionsTable.DESCRIPTION, RecipeInstructionsTable.PHOTO}; SQLiteDatabase db = database.getReadableDatabase(); Cursor cursor = queryBuilder.query(db, projection, null, null, null, null, null); cursor.setNotificationUri(getContext().getContentResolver(), uri); return cursor; }
public Cursor getNoteByRecipe(Uri uri) { SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder(); queryBuilder.setTables(RecipeTable.TABLE + ", " + RecipeNoteTable.TABLE); queryBuilder.appendWhere(RecipeTable.ID + "='" + uri.getLastPathSegment() + "' AND " + RecipeNoteTable.RECIPE_ID + "=" + RecipeTable.ID); String[] projection = {RecipeNoteTable.TEXT}; SQLiteDatabase db = database.getReadableDatabase(); Cursor cursor = queryBuilder.query(db, projection, null, null, null, null, null); cursor.setNotificationUri(getContext().getContentResolver(), uri); return cursor; }
public Cursor getIngredientsByRecipe(Uri uri) { SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder(); queryBuilder.setTables(RecipeTable.TABLE + ", " + RecipeIngredientTable.TABLE); queryBuilder.appendWhere(RecipeTable.ID + "='" + uri.getLastPathSegment() + "' AND " + RecipeIngredientTable.RECIPE_ID + "=" + RecipeTable.ID); String[] projection = {RecipeIngredientTable.AMOUNT, RecipeIngredientTable.DESCRIPTION}; SQLiteDatabase db = database.getReadableDatabase(); Cursor cursor = queryBuilder.query(db, projection, null, null, null, null, null); cursor.setNotificationUri(getContext().getContentResolver(), uri); return cursor; }
@Override public Cursor query(@NonNull Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { int matchCode = mUriMatcher.match(uri); if (matchCode < 0) { throw new IllegalArgumentException("Invalid query URI: " + uri); } SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder(); if (isItemUri(matchCode)) { queryBuilder.appendWhere(BaseColumns._ID + "=" + uri.getLastPathSegment()); } queryBuilder.setTables(getTableName(matchCode)); SQLiteDatabase db = getDatabase(false); Cursor cursor = queryBuilder.query(db, projection, selection, selectionArgs, null, null, sortOrder); cursor.setNotificationUri(getContext().getContentResolver(), uri); return cursor; }
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { SQLiteQueryBuilder sqlBuilder = new SQLiteQueryBuilder(); switch(uriMatcher.match(uri)){ case COURSE_ID: // -- if getting one course -- sqlBuilder.setTables(DATABASE_TABLE); sqlBuilder.appendWhere(_ID + " = " + uri.getPathSegments().get(1)); break; case COURSES2 sqlBuilder.setTables(DATABASE_TABLE2); break; default: throw new IllegalArgumentException("Bad Uri"); }
public Cursor getRecipe(Uri uri) { SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder(); queryBuilder.setTables(RecipeTable.TABLE); String[] projection = {RecipeTable.ID, RecipeTable.TITLE, RecipeTable.DESCRIPTION, RecipeTable.PHOTO, RecipeTable.PREP_TIME}; SQLiteDatabase db = database.getReadableDatabase(); queryBuilder.appendWhere(RecipeTable.ID + "='" + uri.getLastPathSegment() + "'"); Cursor cursor = queryBuilder.query(db, projection, null, null, null, null, null); cursor.setNotificationUri(getContext().getContentResolver(), uri); return cursor; }
@NonNull private ContentValues getContentValues(DatabasePersistence persistence, String group) { SQLiteQueryBuilder builder = SQLiteUtils.newSQLiteQueryBuilder(); builder.appendWhere(DatabasePersistence.COLUMN_GROUP + " = ?"); String[] selectionArgs = new String[]{group}; Cursor cursor = persistence.mDatabaseManager.getCursor(builder, null, selectionArgs, null); ContentValues values = persistence.mDatabaseManager.nextValues(cursor); assertNotNull(values); return values; }