2
我現在確定我在做什麼錯,因爲java和SQLite對我來說是新的。所以我需要檢查用戶輸入新數據到數據庫時是否存在需要更新的「day」和「week_type」數據,否則創建新行。Android:SQLite檢查數據是否存在並更新
public long creatEntry(int day2, int week_type2,
String desc2, String place2, String lessnum2) {
// TODO Auto-generated method stub
ContentValues cv = new ContentValues() ;
String update = "SELECT * FROM info WHERE day="+day2+" AND week_type="+week_type;
Cursor cr = ourDatabase.rawQuery(update, null);
if(cr!= null){
cv.put(day, day2);
cv.put(week_type, week_type2);
cv.put(desc, desc2);
cv.put(place, place2);
cv.put(lessnum, lessnum2);
return ourDatabase.update(DATABASE_TABLE,cv, day+ "=" +day2+ " AND "+week_type+ "=" +week_type2, null);
}
else{
cv.put(day, day2);
cv.put(week_type, week_type2);
cv.put(desc, desc2);
cv.put(place, place2);
cv.put(lessnum, lessnum2);
return ourDatabase.insert(DATABASE_TABLE, null, cv);
}
}
而如果我想使用更新方法? – CVS
多一個,如果哪些列是平等的,則替換更改? – CVS
檢查這些鏈接: http://www.sqlite.org/lang_replace.html http://www.sqlite.org/lang_conflict.html –