昨天打算寫一個有增刪改查功能的圖書管理系統,但剛寫到向SQLite添加數據時就寫不下去了。why?因爲我的數據死活添加不進去,後來找了半天找到原因。
首先我來總結一些用adb shell查看數據庫表的步驟
- 把Android SDK中的adb(adb放在platform-tools目錄下)的路徑配置到環境變量-path裏。
- 打開命令行界面,輸入adb shell,進入設備控制檯。
- 使用cd命令進data/data/com.example.administrator.databasetest(這個最長的路徑每個人都不一樣,不知道的看java目錄下的路徑)/databases。
- 使用ls命令查看該目錄下的文件,再用sqlite3後面加上數據庫名來打開數據庫,再用.table查看數據庫表,最後可以用.schema來查看它們的建表語句。
接下來說說我爲什麼添加數據失敗的原因
add_Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = add_name.getText().toString()
String author = add_author.getText().toString()
int realpage = Integer.parseInt(add_page.getText().toString())
double realprice = Double.parseDouble(add_price.getText().toString())
SQLiteDatabase db = dbHelper.getWritableDatabase()
ContentValues values = new ContentValues()
// 開始組裝數據
values.put("name",name)
values.put("author",author)
values.put("pages",realpage)
values.put("price",realprice)
// db.beginTransaction()
db.insert("Book",null,values)
Toast.makeText(Add_dataActivity.this, "數據添加成功",Toast.LENGTH_SHORT).show()
}
})
以前我是把接受來自EditView數據的代碼放在按鈕監聽器的外面,這樣的話values.put(“name”,name);代碼壓入鍵值對的是空值,從而傳入數據庫的值自然也是空值,至於原因我也不知道,希望有大神知道的告訴在下。
完整的程序代碼等我敲完了再上傳鏈接…