iOS開發之SQLite–C語言介面規範(五):iOS開發使用SQLite例項

青玉伏案發表於2015-12-29

本篇部落格就使用前面操作SQLite的知識來實現如何去插入,刪除和更新資料。然後再把操作SQlite資料庫常用的方法進行一個封裝。把常用方法進行封裝後,把Cars資料庫中的其中一個表的資料進行查詢,並在UITableView上進行展示。因為本例項要對資料庫的資料進行modify(修改)操作 ,在iOS系統上呢,為了安全起見,在Bundle中的資料庫資源是不允許進行資料的插入修改和刪除操作的。在之前的部落格中我們只進行了查詢操作,所以從Bundle載入資料庫資原始檔是可行的。

如果對資料庫程式insert, update, delete等操作,那麼需要在開啟資料庫之前把Bundle中的資料庫拷貝到沙盒中(每個App都有自己的沙盒,在沒有越獄的機器上,App只可以訪問自己的沙盒,這也是iOS比較安全的地方之一)。今天這篇部落格會封裝出一個操作SQLite資料庫的工具類,並且呼叫這個工具類對資料庫進行增刪改查,實現一個小的例項。廢話少說,直奔主題。

一、資料庫操作工具類

為了運算元據庫更為方便,對資料庫操作:開啟關閉資料庫,無繫結值查詢資料庫,有繫結值查詢資料庫,插入資料,刪除資料,更新資料等進行了簡單的封裝。當然有感興趣的小夥伴可以繼續完善,比如加上事務操作等。

工具類對外介面介紹

先來看一下封裝的工具類對外的介面,然後介紹一下其使用方法。介面程式碼具體如下所示

二、 介面的具體介紹

1、開啟資料庫

下面的介面是開啟資料庫功能,把資料庫的名字傳入如(Cars.sqlite),返回的是一個sqlite3的物件,你可以通過這個物件來對開啟的資料庫進行操作。在這個方法中,先去沙盒中檢視是否有該資料庫,如果有就直接開啟。如果沒有就從Bundle中把資料庫資源複製到沙盒中,然後再從沙盒中開啟。你要知道在Bundle中是無法去更改資料庫中的資料的。下方是對外暴漏的介面。

該介面實現的具體方法如下,在關鍵程式碼出都加了註釋,閱讀程式碼時可以看一下注釋,對於程式碼的東西就不做過多的贅述了。

2.關閉資料庫

關閉資料庫就比較簡單了,直接把傳入的sqlite3物件進行一個關閉即可,具體程式碼如下:

3. 程式碼好多,部落格篇幅有限,就不一一的去往上貼上程式碼了,具體程式碼實現回在GitHub上進行分享,gitHub連線請看本部落格的末尾處,在程式碼中也是在關鍵部分新增了相應的註釋。

三、例項實現

呼叫上述簡單封裝的方法實現例項,對Cars.sqlite資料中其中一個表進行操作。先讀取資料庫中的資料,在TableView上進行載入,然後可以對資料進行新增和刪除操作,更新操作就不做演示了。在插入操作中有如果有這條資料就進行Replace,這變相是一個update操作。

下方是Demo的執行效果,為了體現資料插入和刪除的變化效果,給我們的Cell新增了一個動畫效果,便於觀察資料的變化。這個Demo也會在Github上進行分享,你可以自己執行去看一下效果。下方是動態的執行效果。為了簡化操作,點選加號會有預先設定好的資料進行插入(當然你可以把使用者輸入的資料進行一個新增),刪除的話就是TableView自帶的效果刪除。

下方Demo的實現並沒有什麼困難之處,就是對TableView的簡單操作,如果你感興趣的話,可以從Github上進行clone,然後進行擴充套件,新增上搜尋,更新等功能。關於CoreData的操作就要看之前的部落格iOS開發之表檢視愛上CoreData》.

gitHub分享地址:https://github.com/lizelu/SQLiteResource

打賞支援我寫出更多好文章,謝謝!

打賞作者

打賞支援我寫出更多好文章,謝謝!

iOS開發之SQLite–C語言介面規範(五):iOS開發使用SQLite例項

相關文章