我有一个这样的 SQLite 数据库:
private static final String CREATE_BDD =
"CREATE TABLE " + TABLE_NOTE + " ("
+ COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ COL_TITLE + " TEXT NOT NULL, "
+ COL_NOTE + " TEXT NOT NULL, "
+ COL_COLOR + " TEXT NOT NULL);";
数据库存储我可以通过 ID 识别的笔记。当我从数据库中删除笔记时,我希望所有 ID 都优于被删除笔记的 ID,然后我可以将列 ID 保持为“1、2、3、4”而不是“1、3、4”当我删除 ID 为 2 的便笺时。
因为我用它来阅读我的所有笔记(使用 BDDManager 我的 DAO)并且我不想使用 List 来获取所有笔记:
private void readAllNotes(){
int i = 1;
Note note = new Note();
BDDManager.open();
do{
note = BDDManager.getNoteWithId(i);
if(note != null){
addCard(note); //here I add the note to a new TextView
i++;
}
}while(note != null);
BDDManager.close();
}
当我删除一条笔记时,在删除 ID 后我无法阅读,因为它返回null并在删除笔记后停止阅读笔记
以下是我删除笔记的方法:
public int removeNoteWithId(int id){
return bdd.delete(TABLE_NOTE, COL_ID + " = " +id, null);
}