0

我试图只更新一行中的一列,由于某种原因它继续告诉我该列不存在。

内容提供商

    @Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
    SQLiteDatabase db = ucdb.getReadableDatabase();
    final int match = ContentDescriptor.URI_MATCHER.match(uri);
    int rowsUpdated = 0;
    switch(match){
    case ContentDescriptor.U.PATH_TOKEN:{
        rowsUpdated = db.update(ContentDescriptor.T1.NAME, values, selection, selectionArgs);
    }
    case ContentDescriptor.R.PATH_TOKEN:{
        rowsUpdated = db.update(ContentDescriptor.T2.NAME, values, selection, selectionArgs);
    }
    case ContentDescriptor.Q.PATH_TOKEN:{
        rowsUpdated = db.update(ContentDescriptor.T3.NAME, values, selection, selectionArgs);
    }
    case ContentDescriptor.S.PATH_TOKEN:{
        rowsUpdated = db.update(ContentDescriptor.T4.NAME, values, selection, selectionArgs);
    }
    case ContentDescriptor.E.PATH_TOKEN:{
        rowsUpdated = db.update(ContentDescriptor.T5.NAME, values, selection, selectionArgs);
    }
    }
    return rowsUpdated;
}

更新查询

ContentValues val = new ContentValues();
            val.put(ContentDescriptor.U.Cols.q, newQ);

            contentResolver.update(ContentDescriptor.U.CONTENT_URI, val,
                    ContentDescriptor.U.Cols.UID + "='" + uId + "'", null);
4

1 回答 1

2

切换器需要中断或返回语句。

于 2013-06-19T14:35:35.683 回答