我想更新android的callog.calls表的cached_name列,但得到sql lite異常。我一直試圖這個很長,但無法拿出任何東西。我搜索了很多,但找不到足夠的有關更新的信息。如何在android中使用更新查詢?
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(CallLog.Calls.CONTENT_URI,
null, null, null, null);
ContentValues value=new ContentValues();
value.put("CallLog.Calls.CACHED_NAME","frank");
cr.update(CallLog.Calls.CONTENT_URI,value,CallLog.Calls.CACHED_NAME, null);
Error:
11-25 20:11:17.755: ERROR/Database(106): Error updating CallLog.Calls.CACHED_NAME=frank using UPDATE calls SET CallLog.Calls.CACHED_NAME=? WHERE name
11-25 20:11:17.776: ERROR/DatabaseUtils(106): Writing exception to parcel
11-25 20:11:17.776: ERROR/DatabaseUtils(106): android.database.sqlite.SQLiteException: near ".": syntax error: , while compiling: UPDATE calls SET CallLog.Calls.CACHED_NAME=? WHERE name
cr.update(CallLog.Calls.CONTENT_URI,值,CallLog.Calls.CACHED_NAME + 「=?」,新的String [] { 「」}); ...我用這個名字最初是空的,但現在既沒有例外,也沒有在db.any的想法中獲得更新。 –
,它將更新CACHED_NAME列等於空字符串''(不是空字符串,而是0字符字符串)的任何行。你的桌子上有這麼一排嗎? – Chris