android: SQLite刪除數據


刪除數據對你來說應該就更簡單了,因為它所需要用到的知識點你全部已經學過了。 SQLiteDatabase 中提供了一個 delete()方法專門用於刪除數據,這個方法接收三個參數,第一 個參數仍然是表名,這個已經沒什么好說的了,第二、第三個參數又是用於去約束刪除某一 行或某幾行的數據,不指定的話默認就是刪除所有行。

是不是理解起來很輕松了?那我們就繼續動手實踐吧,修改 activity_main.xml 中的代碼, 如下所示:

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"

android:orientation="vertical" >

……

 

<Button android:id="@+id/delete_data" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Delete data"

/>

</LinearLayout>

仍然是在布局文件中添加了一個按鈕,用於刪除數據。然后修改 MainActivity 中的代碼, 如下所示:

 

public class MainActivity extends Activity {

 

private MyDatabaseHelper dbHelper;

 

 

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

dbHelper = new MyDatabaseHelper(this, "BookStore.db", null, 2);

……

Button deleteButton = (Button) findViewById(R.id.delete_data);

deleteButton.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

SQLiteDatabase db = dbHelper.getWritableDatabase();

db.delete("Book", "pages > ?", new String[] { "500" });

}

});

}

 

}

可以看到,我們在刪除按鈕的點擊事件里指明去刪除 Book 表中的數據,並且通過第二、 第三個參數來指定僅刪除那些頁數超過 500 頁的書籍。當然這個需求很奇怪,這里也僅僅是 為了做個測試。你可以先查看一下當前 Book 表里的數據,其中 The Lost Symbol 這本書的頁 數超過了 500 頁,也就是說當我們點擊刪除按鈕時,這條記錄應該會被刪除掉。

現在重新運行一下程序,界面如圖 6.25 所示。

圖   6.25

點擊一下 Delete data 按鈕后,再次輸入查詢語句查看表中的數據情況,結果如圖 6.26所示。

圖   6.26

 

這樣就可以明顯地看出,The Lost Symbol 這本書的數據已經被刪除了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM