2014-11-25 54 views
0

我有一個數據庫,如下所示。刪除一行表單SQLite並更新值?

------------------ 
name | position 
------------------ 
a    1 
b    2 
c    3  .<---- 
d    4 
f    5 

我希望當一行被刪除。 (行c)

我知道如何刪除一行。 當DELET c行: SQLite是打擊

------------------ 
name | position 
------------------ 
a    1 
b    2 
d    4 
f    5 

但我不希望這樣的結果。

我想 結果如下圖所示

------------------ 
name | position 
------------------ 
a    1 
b    2 
d    3 
f    4 
+0

你到底想要什麼?請讓它更清晰 – 2014-11-25 10:57:27

+0

我編輯我的問題的更多詳細信息 – anjeli 2014-11-25 11:08:53

+0

@anjeli刪除行後,只需插入並重新更新它,您將獲得新的位置。 – 2014-11-25 11:09:27

回答

1

,你必須執行此查詢:

UPDATE myTable 
SET position = position - 1 
WHERE position > x 

與你的表名稱替換myTable。並用刪除行的位置替換x

+0

謝謝.. 編寫您的答案可能如下: 數據庫。 excute(「UPDATE T1 SET position =」) – anjeli 2014-11-25 11:38:43

+0

歡迎您!請接受我的答案,如果它解決了你的問題! :) – 2014-11-25 12:04:01

+0

oky ...但我寫時:dataBase.execSQL(「UPDATE List_consition SET position ='」+(cursor.getInt(cursor.getColumnIndex(「position」)) - 1)+「'WHERE heart>」+的p + 「;」);程序是例外 – anjeli 2014-11-25 12:08:59