iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0
Mobile Development

用30天學習做出我的第一個Flutter App系列 第 26

Day26 [Flutter] SQLite( 1 )

  • 分享至 

  • xImage
  •  

之前在實作通訊錄的時候,範例文章裡是使用讀取json檔的方式來顯示聯絡人的資料,所以今天要來學習如何在flutter中使用 SQLite資料庫存放資料,並且對資料進行增刪查改,那就先從建立資料庫開始!

  1. 首先要先安裝package
    在pubspec.yaml中加入第33、34行程式碼,然後點選Pub get來安裝sqflite跟path
    https://ithelp.ithome.com.tw/upload/images/20231011/20163063h9EOzstpJR.png

  2. 創建資料庫

    • 先在lib下建立database/TestDB.dart資料夾和檔案
    • import package以及建立schema
      • 之後需要使用這裡的資料,所以將資料以Map的格式返回
      • Map<Key, Value>:為一個關聯陣列,每個元素包含一個唯一的key和對應的值(value),像是建立一個Map<String, int> ages = {'Alice': 30,},之後就可以透過ages['Alice']來獲取Alice的年齡=30
      • 而這裡建立的value型態是dynamic,是因為value(id或name)有可能是integer或String等不同型態
        https://ithelp.ithome.com.tw/upload/images/20231011/20163063OnWr7xU2Ph.png
    • 建立資料庫並且建立表格onCreate(database,version)
      https://ithelp.ithome.com.tw/upload/images/20231011/20163063pF3wI6HL5I.png
    • 加入getDBConnect()來偵測有沒有已經建立的database,如果有的話就不要再建立了
      https://ithelp.ithome.com.tw/upload/images/20231011/20163063kmFT5frptR.png
  3. 實作增刪改查

    • 增加一筆資料:insert(表格名稱,值):要給入表格名稱以及要輸入的值
      https://ithelp.ithome.com.tw/upload/images/20231011/201630632GKMQfZayI.png
    • 刪除一筆資料:delete(表格名稱,刪除條件),whereArgs提供where條件中的參數值
      https://ithelp.ithome.com.tw/upload/images/20231011/20163063dFKzyahe8T.png
    • 更改資料:update(表格名稱,新的值,更改條件)
      https://ithelp.ithome.com.tw/upload/images/20231011/20163063JOfWQ4kdaj.png
    • 查詢資料:query(表格名稱),將符合條件的數據轉為Test類別存在列表裡,最後會返回一個List<Test>
      https://ithelp.ithome.com.tw/upload/images/20231011/20163063gIeCp5RxxE.png

參考資料:
https://www.youtube.com/watch?v=zGxaDhWU5ZM
https://medium.com/%E5%86%8D%E4%B8%8D%E5%AF%AB%E5%B0%B1%E8%A6%81%E5%BF%98%E4%BA%86/flutter-%E4%BD%BF%E7%94%A8-sqlite-%E6%9C%AC%E5%9C%B0%E8%B3%87%E6%96%99%E5%BA%AB-b6c8a2f1f3e8


上一篇
Day25 [Flutter] Future
下一篇
Day27 [Flutter] SQLite( 2 )
系列文
用30天學習做出我的第一個Flutter App30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言