行の 1 つの列だけを更新しようとしていますが、何らかの理由でその列が存在しないというメッセージが引き続き表示されます。
コンテンツ プロバイダー
@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);