欧美人两个人激情的免费视频_国产亚洲人成网站在线观看不卡_直接看毛片_免费乱理伦片在线观看app

十三年專注于網站建設與互聯網應用開發,低調、有情懷的網絡應用服務商!
南昌百恒科技微信公眾號 掃一掃關注
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒科技微信公眾號

如何創建數據庫SQLite?

百恒 2017-04-28 17:06:14 4003
? ? ? ?2000年,D.理查德·希普開發并發布了嵌入式系統使用的關系數據庫SQLite,目前的主流版本是SQLite 3。SQLite是開源的,它采用C語言編寫,具有可移植性強、可靠性高、小而容易使用的特點。SQLite運行時與使用它的應用程序之間共用相同的進程空間,而不是單獨的兩個進程。
? ? ? ?SQLite提供了對SQL-92標準的支持,支持多表、索引、事務、視圖和觸發。SQLite是無數據類型的數據庫,就是字段不用指定類型。下面的代碼在SQLite中是合法的:
南昌APP開發
? ? ? ?那么如何創建數據庫SQLite呢?下面由南昌網絡公司-百恒網絡跟大家做個簡單的介紹:
? ? ? ?要創建數據庫,需要經過如下3個步驟。
? ? ? ?(1) 使用sqlite3_open函數打開數據庫。
? ? ? ?(2) 使用sqlite3_exec函數執行Create Table語句,創建數據庫表。
? ? ? ?(3) 使用sqlite3_close函數釋放資源。
? ? ? ?在這個過程中,我們使用了3個SQLite3函數,它們都是純C語言函數。通過Objective-C調用C函數當然不是什么問題,但是也要注意Objective-C數據類型與C數據類型的兼容性問題。

南昌APP開發

? ? ??首先,我們需要添加SQLite3庫到運行的工程環境中。選擇工程中TARGETS→PresentationLayer→Build?phases→Link Binary With Libraries,點擊左下角的+按鈕,從彈出界面中選擇libsqlite3.dylib或libsqlite3.0.dylib,再在彈出的對話框中點擊Add按鈕添加即可,如下圖所示。

南昌APP開發

? ? ? ?在NoteDAO文件中,相關屬性和createEditableCopyOfDatabaseIfNeeded方法的代碼如下所示:

南昌APP開發

? ? ??上述代碼中第①行用于聲明C指針類型變量db,在Swift版本中需要聲明為COpaquePointer類型。第②行代碼用于將NSString類型轉換為C接受的是char*類型數據。
? ? ? ?第③行代碼用于打開數據庫,其中sqlite3_open函數的第一個參數是數據庫文件的完整路徑。需要注意的是,在這個函數中,接受的是char*類型的數據;第二個參數為sqlite3指針變量db的地址;返回值是int類型。在SQLite3中,我們定義了很多常量,如果返回值等于常量SQLITE_OK,則說明創建成功。
? ? ? ?如果數據庫打開失敗,則需要關閉數據庫(見第④行代碼),并拋出異常(見第⑤行代碼)。
? ? ? ?如果數據庫成功打開,則需要創建數據庫中的表,其中第⑥行代碼是建表的SQL語句,當表Note不存在時創建,否則不創建。第⑦行代碼是將NString類型轉換為C所接受的是char*類型的數據。
? ? ? ?第⑧行中的sqlite3_exec函數用于執行SQL語句,該函數的第一個參數是sqlite3指針變量db的地址,第二個參數是要執行的SQL語句,第三個參數是要回調的函數,第四個參數是要回調函數的參數,第五個參數是執行出錯的字符串。
? ? ? ?最后,數據操作執行完成,要通過sqlite3_close函數釋放資源。代碼中多次使用了該函數,當數據庫打開失敗、SQL語句執行失敗,以及執行成功時等都會調用。原則上,無論正常結束還是異常結束,必須使用sqlite3_close函數釋放資源。

南昌APP開發

? ? ??本文僅限內部技術人員學習交流,不得作于其他商業用途.希望此文對廣大技人員有所幫助。文章出自:南昌APP開發公司-百恒網絡:http://m.1e2r.com

400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
備案專線 備案專線
 
售后服務 售后服務
 
×