簡體   English   中英

從android SQLite數據庫中刪除行會在刪除行后破壞條目

[英]Deleting row from android SQLite database corrupts entries after deleted row

大家好,我是android開發的新手,一直在嘗試學習如何在android中使用SQL。 我一直在從這里http://www.tutorialspoint.com/android/android_sqlite_database.htm使用示例代碼

除了刪除行功能,我已經能夠按照我想要的一切進行工作。 當我刪除一行時,其下面各行中的數據會損壞和/或與id列不同步。 在過去的兩天里,我一直在研究示例並進行仔細研究,但是找不到答案,因此希望你們中的一個能夠提供幫助。 以下是發生的情況的簡單示例。 讓我知道是否需要發布更多信息,非常感謝您的幫助。 問題圖

public Integer deleteContact (Integer id)
{
   SQLiteDatabase db = this.getWritableDatabase();
  return db.delete("contacts",
           "id = ? ",
          new String[] { Integer.toString(id) });


}

圖的結果是正確的。 代碼也正確。

如果您有:

ID | Value
----------
1  | a
2  | b   <---- delete this
3  | c

結果將是:

ID | Value
----------
1  | a
3  | c

因此,id為3的行仍為值c。 而且,如果您運行查詢以選擇ID為2的行,則該應用程序可能會崩潰,因為返回的Cursor沒有指向某行。 如果不處理這種情況,則該應用程序可能會崩潰。

我檢查了您的圖表,首先要告訴您,第2行的刪除操作還應該刪除所有行值,甚至是id。 然后繼續進行,教程要點就是一個很好的例子。

根據您的問題:刪除之前:

1-a

2-b

3-c

4-d

刪除第二行后,它應具有:

1-a

3-c

4-d

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM