android sqlite插入與修改tips

2021-07-06 11:39:28 字數 658 閱讀 1349

table: 要插入資料的表的名稱

nullcolumnhack:當values引數為空或者裡面沒有內容的時候,我們insert是會失敗的(底層資料庫不允許插入乙個空行),為了防止這種情況,我們要在這裡指定乙個列名,到時候如果發現將要插入的行為空行時,就會將你指定的這個列名的值設為null,然後再向資料庫中插入。

values:乙個contentvalues物件,類似乙個map.通過鍵值對的形式儲存值。

這裡很多人會迷惑,nullcolumnhack到底幹什麼用的,為什麼會出現呢。當我們不設定一列的時候,不都是資料庫給設為預設值嗎?很多字段設定預設值也是null,這裡顯示的設定也是null,有什麼區別嗎,怎麼會顯示設定了之後就允許插入了呢?

------------------------引用自炸斯特

這裡最難理解的就是nullcolumnhack的作用。我理解的就是,如果不小心插入了空行(不被允許),如果nullcolumnhack變數傳遞了列明,那麼這一列就被賦值null。從而允許了插入。

除了使用上面的直接呼叫方法,

還可以使用sqlitedatabase。execsql()方法可以執行insert、delete、update和create table之類有更改行為的sql語句; rawquery()方法用於執行select語句。

android SQLite大資料插入優化

sqlitedatabase db this.getwritabledatabase 獲取資料庫可寫物件 db.begintransaction 啟動事務 try 以上資料操作全部成功,通過標記settransactionsuccessful為true,事務才提交,否則回滾 預設標記為false d...

Android SQLite插入大量資料的效率優化

通常,在用 arraylist contentprovideroperation operations new arraylist contentprovideroperation do something.operations add contentprovideroperation newupd...

android sqlite基本操作

package com.xiangqiao.sqlite3 import android.content.contentvalues import android.database.cursor import android.database.sqlite.sqlitedatabase import...