一、添加資料
- SQLiteDatabase中提供了insert方法,內含有三個引數,一個是表名,第二個是在未指定添加資料的情況下給某些可為空的列自動賦值NULL,第三個引數是一個CotentValues物件,它提供了一系列put方法多載,用于向ContentValues中添加資料,
- 修改activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
..............省略部分重復的代碼............
<Button
android:id="@+id/add_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Add data"/>
</LinearLayout>
- 我們添加了一個按鈕,然后為這個按鈕系結事件,修改MainActivity.java
..........省略上面的代碼...........
Button addData = https://www.cnblogs.com/ruigege0000/p/(Button)findViewById(R.id.add_data);
addData.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
//開始組裝第一條資料
values.put("name", "The Da Vinci Code");
values.put("author", "Dan Brown");
values.put("pages", 454);
values.put("price", 16.96);
db.insert("Book",null,values);//插入第一條資料
values.clear();
//開始組裝第二條資料
values.put("name", "The Lost Symbol");
values.put("author", "Dan Brown");
values.put("pages", 510);
values.put("price", 19.95);
db.insert("Book", null, values);//插入第二條資料
}
});
- 我們生成這個app,進行點擊“Add data"按鈕,然后利用dos視窗工具查看資料庫內含有的Book表

二、更新資料
- SQLiteDatabase中提供了update方法,內含有四個引數,一個是表名,第二個引數是一個CotentValues物件,它提供了一系列put方法多載,用于向ContentValues中添加資料,第三個或者第四個引數用于去約束更新某一行或者幾行的資料,不指定的話就會默認更新所有行,
- 修改activity_main.xml
<Button
android:id="@+id/update_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Update data"
/>
- 在添加一個按鈕,然后來系結點擊事件
Button updateData = https://www.cnblogs.com/ruigege0000/p/(Button)findViewById(R.id.update_data);
updateData.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("price", 10.99);
db.update("Book",values,"name=?",new String[] {
"The Da Vinci Code"
});
}
});

- 可以看到其實三四個引數類似于SQL陳述句的where部分和PreparedStatement用法有異曲同工之妙,
三、洗掉資料
- SQLiteDatabase中提供了delete方法,內含有三個引數,一個是表名,第二個和第三個引數用于去約束洗掉某一行或者幾行的資料,不指定的話就會默認洗掉所有行,
- 修改activity_main.xml
<Button
android:id="@+id/delete_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Delete data"
/>
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"
});
}
});


四、原始碼:
- DatabaseTest
- 地址:https://github.com/ruigege66/Android/tree/master/DatabaseTest
- CSDN:https://blog.csdn.net/weixin_44630050
- 博客園:https://www.cnblogs.com/ruigege0000/
- 歡迎關注微信公眾號:傅里葉變換,個人賬號,僅用于技術交流
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/122832.html
標籤:Android
