Android SQLite更新方法无法正常工作。使用Content Provider

时间:2013-06-18 15:01:28

标签: android database sqlite

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

内容提供商

    @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);

1 个答案:

答案 0 :(得分:2)

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