public override int Update(Uri uri, ContentValues values, string selection, string[] selectionArgs) { if (LOGV) { Log.Verbose(TAG, "update(uri=" + uri + ", values=" + values.ToString() + ")"); } SQLiteDatabase db = mOpenHelper.WritableDatabase; SelectionBuilder builder = BuildSimpleSelection(uri); int retVal = builder.Where(selection, selectionArgs).Update(db, values); Context.ContentResolver.NotifyChange(uri, null); return(retVal); }
public override int Delete(Uri uri, string selection, string[] selectionArgs) { if (LOGV) { Log.Verbose(TAG, "delete(uri=" + uri + ")"); } SQLiteDatabase db = mOpenHelper.WritableDatabase; SelectionBuilder builder = BuildSimpleSelection(uri); int retVal = builder.Where(selection, selectionArgs).Delete(db); Context.ContentResolver.NotifyChange(uri, null); return(retVal); }
public override Android.Database.ICursor Query(Android.Net.Uri uri, string[] projection, string selection, string[] selectionArgs, string sortOrder) { if (LOGV) { Log.Verbose(TAG, "query(uri=" + uri + ", proj=" + projection.ToString() + ")"); } SQLiteDatabase db = mOpenHelper.ReadableDatabase; int match = sUriMatcher.Match(uri); switch (match) { default: { // Most cases are handled with simple SelectionBuilder SelectionBuilder builder = BuildExpandedSelection(uri, match); return(builder.Where(selection, selectionArgs).Query(db, projection, sortOrder)); } case SEARCH_SUGGEST: { SelectionBuilder builder = new SelectionBuilder(); // Adjust incoming query to become SQL text match selectionArgs[0] = selectionArgs[0] + "%"; builder.Table(ScheduleDatabase.Tables.SEARCH_SUGGEST); builder.Where(selection, selectionArgs); builder.Map(SearchManager.SuggestColumnQuery, SearchManager.SuggestColumnText1); projection = new String[] { BaseColumns.Id, SearchManager.SuggestColumnText1, SearchManager.SuggestColumnQuery }; String limit = uri.GetQueryParameter(SearchManager.SuggestParameterLimit); return(builder.Query(db, projection, null, null, ScheduleContract.SearchSuggest.DEFAULT_SORT, limit)); } } }
public override Android.Database.ICursor Query (Android.Net.Uri uri, string[] projection, string selection, string[] selectionArgs, string sortOrder) { if (LOGV) Log.Verbose(TAG, "query(uri=" + uri + ", proj=" + projection.ToString() + ")"); SQLiteDatabase db = mOpenHelper.ReadableDatabase; int match = sUriMatcher.Match(uri); switch (match) { default: { // Most cases are handled with simple SelectionBuilder SelectionBuilder builder = BuildExpandedSelection(uri, match); return builder.Where(selection, selectionArgs).Query(db, projection, sortOrder); } case SEARCH_SUGGEST: { SelectionBuilder builder = new SelectionBuilder(); // Adjust incoming query to become SQL text match selectionArgs[0] = selectionArgs[0] + "%"; builder.Table(ScheduleDatabase.Tables.SEARCH_SUGGEST); builder.Where(selection, selectionArgs); builder.Map(SearchManager.SuggestColumnQuery, SearchManager.SuggestColumnText1); projection = new String[] { BaseColumns.Id, SearchManager.SuggestColumnText1, SearchManager.SuggestColumnQuery }; String limit = uri.GetQueryParameter(SearchManager.SuggestParameterLimit); return builder.Query(db, projection, null, null, ScheduleContract.SearchSuggest.DEFAULT_SORT, limit); } } }