안드로이드에서 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
http://www.vogella.de/articles/AndroidSQLite/article.html (CallLog.Calls.CONTENT_URI이 값은 CallLog.Calls.CACHED_NAME + "=?"새로운 문자열 [] { ","}) ... I 사용 이 이름은 처음에는 null.but 이제 db.any 아이디어에서 예외도없고 updation 점점지고. –
은 CACHED_NAME 열이 빈 문자열 ''(널 문자열은 아니지만 0 문자열)과 동일한 행을 갱신합니다. 당신은 당신의 탁자에 그런 열이 있습니까? – Chris