2013-07-29 3 views
0

я хочу, чтобы удалить «TYPE = 0» запись, мой код:getContentResolver() Удалить фильтр не влияет

cv.put(Call.NAME, titleString); 
cv.put(Call.BUILD_NAME, ""); 
cv.put(Call.BUILD, build); 
cv.put(Call.UNIT, unit); 
cv.put(Call.ROOM, room); 
cv.put(Call.TIME, date); 
cv.put(Call.TYPE, 0);// 
cv.put(Call.DEVICETYPE, doordevicetype); 
cv.put(Call.PHOTO, baos.toByteArray()); 
cv.put(Call.CONTACT_ID, 9999); 

Uri contactUri, uriRet; 
ContentResolver resolver = getContentResolver(); 
uriRet = resolver.insert(contactUri, cv); 

так что я могу вставить много записей, некоторые записи Call.TYPE=0, некоторые Call.TYPE=1, так что я хочу удалить все Call.TYPE=1. Мой код:

int a=getContentResolver().delete(Call.CONTENT_URI, Call.TYPE +"=" +1, null); 

но приложение удалить все записи, включает в себя Call.TYPE=0 .I не знает, что это неправильно. Добавить, вставить, обновить запись, все в порядке, но удалить некоторые реорганы неэффективно, можете ли вы дать некоторые советы, пожалуйста?

ответ

2

использовать этот код для удаления конкретной строки, когда матч TYPE = 1 ...

String[] selectionArgs=new String[]{String.valueOf(1)}; 
// this is for which argument to match with TYPE=1 and delete row 

String selection=""+TablenName.TYPE+"=?"; // this is where condition 
getContentResolver().delete(Call.CONTENT_URI, selection, selectionArgs); 

Note : just refer this [link][1]. its usefull to understand for , how delete are happening.. 
[1]: http://www.w3schools.com/sql/sql_delete.asp 
+0

спасибо за ваш ответ, но он также удалить все записи. – pengwang

+0

извините, ваш код верный – pengwang

+0

Отличный +1 для ответа –

Смежные вопросы