iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 30
1
自我挑戰組

Android 菜鳥村-開發基礎 30篇系列 第 32

[Day 30] SQLite 下

delete

delete(String table, String whereClause, String[] whereArgs)

  • delete(String table, String whereClause, String[] whereArgs)

  • String table 表名稱

  • String whereClause 條件語句,相當於where關鍵字,

  • String[] whereArgs 對應條件語句的值的數組,注意若有多個值則需與selection中的多個條件(?符號)一一對應

中間 "vocabulary like ?" 是條件語句 , ? 是占位符 保留 like 後面的參數 , arrayOf(vocabulary) 是這個參數的集合 , 在下這個例子我們要刪掉 的 Row , vocabulary 這個Column (欄位) 的 data 會是 whereArgs 傳入的集合之中所包含的參數


 dbrw.delete("myTable","vocabulary like ?", arrayOf(vocabulary))

在下這個例子我們要刪掉 的 Row , vocabulary 這個Column (欄位) 的 data 會是 "Apple"


 dbrw.delete("myTable","vocabulary like ?", arrayOf("Apple"))

將佔位符 ? 拿掉 , 放置我們需要的參數 , whereArgs 就不需傳入要替代的值了


 dbrw.delete("myTable","vocabulary like 'Apple'", null)

我們也可以執行 SQL 語句去刪掉 Row , WHERE語句用於指定條件 指定一個運算符(下面是 =), ' ' 是放置我們要比較的對象 , 透過下面的語句我們會刪除的Row vocabulary 這個Column (欄位) data 為 $vocabulary 的 column


dbrw.execSQL("delete from myTable  WHERE  vocabulary = '$vocabulary'")

如果沒指定任何條件,會刪除整個資料表的資料


dbrw.delete("myTable",null, null)

update

update(String table, ContentValues values, String whereClause, String[] whereArgs)

  • String table 表名稱

  • ContentValues values ContentValues類似一個map.通過鍵值對的形式存儲值

  • String whereClause 條件語句,相當於where關鍵字

  • String[] whereArgs 對應條件語句的值的數組,注意若有多個值則需與selection中的多個條件(?符號)一一對應

這裏要傳入的參數whereClause whereArgs 意義和 delete 是一樣的條件句 , 就不再多解釋 , 放置的 ContentValues
包含我們所要更新 的 key(欄位) 跟 value(他的data)



 val  values =  ContentValues()
 
     values.put("mean", "鳳梨")
     dbrw.update("myTable", values, "vocabulary = 'Apple'", null);

執行 SQL 語句 :

SET mean = '鳳梨' 更改 mean 這個欄位 的 data 為 鳳梨 , WHERE vocabulary = 'Apple' 被更改的Row 條件為
vocabulary 欄位 的 data 必須是 Apple


     dbrw.execSQL("UPDATE myTable SET mean = '鳳梨' WHERE vocabulary = 'Apple'")


上一篇
[Day 29 ] SQLite 上
系列文
Android 菜鳥村-開發基礎 30篇32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言