SQLite是一個軟件庫,實現了自給自足的、無服務器的、零配置的、事務性的SQL數據庫引擎。SQLite是世界上最廣泛部署的數據庫引擎之一。SQLite源代碼開放,沒有授權限制。正是因為其免費、輕巧、綠色等特點,因此SQLite的應用范圍很廣,在各種軟件上都有應用,其中不乏Adobe、Apple、Firefox,甚至包括google、Microsoft、SUN這樣的企業。在上位機項目開發中。SQLite的應用也很廣泛,今天主要跟大家分享一下SQLite的部署、應用及常見錯誤分析。
1 數據庫部署
SQLite數據庫和其他數據庫相比,一個很大的優勢在于免部署,也就意味著不需要安裝即可使用,但是需要同樣也需要數據庫客戶端管理軟件的支持,SQLite的客戶端軟件很多,包含SQLite Database Browser、SQLite Administrator、SQLite Expert Personal、SQLite Studio等,個人比較喜歡使用SQLite Studio,需要的童鞋可以關注本公眾號,在后臺發送關鍵詞 **015 **即可獲取。為了后續介紹SQLite數據應用,首先要準備好一個數據庫及數據表,通過SQLite可以很方便的進行創建,創建完成后會生成一個文件。
如上圖所示,創建了一個SQLite數據庫,名稱為SQLiteDemo,在數據庫中創建了一個數據表,名稱為Student,Student數據表下會有四個字段,分別為StudentID、StudentName、StudentGender及StudentClass,并向其中插入了兩條數據。
2 數據庫應用
首先創建一個Windows應用程序,窗體中簡單的拖放兩個控件,一個查詢按鈕,一個顯示控件DataGridView,我們所要做的就是基于SQLite數據庫實現數據的查詢。如下圖所示:
眾所周知,Windows開發會存在平臺版本的問題,一般情況下,我們使用的都是Any CPU,Any CPU默認是32位目標平臺,但是有的時候我們可能需要在64位平臺上使用SQLite,今天著重講述一下如何在各個平臺下實現SQLite的應用。
2.1 默認Any CPU
一般情況下,我們的項目都是使用Any CPU作為目標平臺,默認為32位。如果想實現SQLite數據庫應用,首先要準備一些類庫,因為SQLite并不是微軟的數據庫,所以Windows系統是沒有SQLite類庫的,SQLite類庫會區分32位和64位,類庫獲取方式,公眾號后臺回復: **261 ** ,如下圖所示:
- 首先將公用的類庫復制到Debug根目錄下,然后手動添加下SQLiteHelper,SQLiteHelper是一個封裝好的SQLite數據庫操作類,如下圖所示,添加之后,會有錯誤提示,將System.Data.SQLite.dll添加引用即可消除錯誤。
- 設置連接字符串:SQLite連接字符串指向的是數據庫文件,所以這里首先要之前創建好的數據文件復制到項目中來,直接放到Debug路徑下,然后在窗體運行初始化時,設置一下連接字符串,連接字符串格式如下:
- 在查詢按鈕下,寫一段簡單的查詢代碼,如下圖所示:
- 運行程序,執行查詢事件,代碼會報錯,如下圖所示:
這個錯誤,很多童鞋經常會遇到,錯誤提示很明顯,就是提示缺少指定模塊,模塊名稱為SQLite.Interop.dll,如果大家還有印象的話,這個dll是在SQLite類庫中,32位和64位專有的文件夾中,如下圖所示,因此,我們只需要將x86文件夾下的這兩個文件復制到Debug目錄下,這里一定要復制x86文件夾下的,因為Any CPU默認是x86平臺。
- 復制完成后,再次點擊查詢,結果如下:
2.2 64位平臺
當我們使用64位平臺時,首先將目標平臺改成x64,如下圖所示:
這時候,運行界面,點擊查詢,會出現以下錯誤:
對于這個錯誤,我們將x64文件夾下的兩個文件復制到Debug目錄下,然后替換一下,再執行查詢,實現最終的數據讀取:
當我們同時將下圖中的目標平臺修改為x64時,再重新生成,會在bin文件夾下重新產生一個x64的文件夾,這時候所有的生成內容都將存儲在x64文件夾下,與之前的Debug無關。
這時候再重新生成,運行界面,點擊查詢,又會出現下面的錯誤:
再次遇到這樣的問題,我們應該很清楚,就是需要將只需要將類庫中x64文件夾下的這兩個文件復制到Bin目錄下x64文件夾下的Debug文件夾中,同時還需要將數據庫復制進去。重新生成,點擊查詢,結果如下:
2.3 x86平臺
當我們將下圖中的目標平臺修改為x86時,再重新生成,同理會在bin文件夾下重新產生一個x86的文件夾,這時候所有的生成內容都將存儲在x86文件夾下,與之前的Debug無關,這里的解決方案與上述2.2描述類似,因此不再作贅述。
3 整體總結
通過針對各個平臺的說明,我們發現SQLite使用中常見的錯誤無非就那么幾種,而解決方案也是差不多,始終需要遵從一個原則,保證我們需要的第三方dll放在項目生成的路徑下。當我們不清楚項目生成的路徑時,可以通過清理解決方案,再重新生成解決方案,觀察項目exe的修改時間,是否為當前最新的時間,從而判斷該路徑是否為項目生成路徑。
-
SQL數據庫
+關注
關注
0文章
25瀏覽量
6915 -
SQlite
+關注
關注
0文章
78瀏覽量
15945 -
軟件庫
+關注
關注
0文章
15瀏覽量
7766
發布評論請先 登錄
相關推薦
評論