Hi all,

I created ContentProvider for database with three tables.
SQLiteException was thrown on first call query. My method and commets
are below:

@Override
        public Cursor query(Uri url, String[] projection, String selection,
                        String[] selectionArgs, String sort) {
                SQLiteQueryBuilder qb = new SQLiteQueryBuilder();

                String tableName = getTableName(url);



                final int uri = urlMatcher.match(url);


                qb.setTables(tableName);
                String defaultOrderBy = null;

                if (isCollectionUri(url)) {
                        switch (uri) {
                        case ITEMS_URI_CODE:
                                qb.setProjectionMap(itemsMap);
                                defaultOrderBy = Items.DEFAULT_SORT_ORDER;
                                break;
                        case LISTS_URI_CODE:
                                qb.setProjectionMap(listsMap);
                                defaultOrderBy = Lists.DEFAULT_SORT_ORDER;
                                break;
                        case CELLS_URI_CODE:
                                qb.setProjectionMap(cellsMap);
                                defaultOrderBy = Cells.DEFAULT_SORT_ORDER;
                                break;
                        default:
                                throw new IllegalArgumentException("Unknown URL 
" + url);

                        }

                }
                else {
                        qb.appendWhere("_id=" + url.getPathSegments().get(1));
                }

                String orderBy;

                if (TextUtils.isEmpty(sort)) {
                        orderBy = defaultOrderBy;
                } else {
                        orderBy = sort;
                }
                
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                //qb.query throw sqliteexception: no such column: modified....
                Cursor c = qb.query(db, projection, selection, selectionArgs, 
null,
                                null, orderBy);

                c.setNotificationUri(getContext().getContentResolver(), url);
                return c;
        }

the db is not null

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to