C#創(chuàng)建SQLite控制臺(tái)應(yīng)用程序詳解
一、開發(fā)環(huán)境
操作系統(tǒng):Windows 10 X64
開發(fā)環(huán)境:VS2015
編程語言:C#
.NET版本:.NET Framework 4.0
目標(biāo)平臺(tái):X86
二、前言
之前使用的是軟件的Access來創(chuàng)建基于本地的數(shù)據(jù)庫軟件,發(fā)現(xiàn)在使用過程中,發(fā)現(xiàn)Access比較耗內(nèi)存,運(yùn)行速度比SQLite稍微慢,另外一個(gè)最重要的是Access加密的文件容易被破解,因此,現(xiàn)在轉(zhuǎn)向使用SQLite來代替Access。
三、SQLite的下載
1、由于是基于.NET的C#編程,需下載System.Data.SQLite.dll來進(jìn)行引用,下載網(wǎng)址如下:
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
2、由于使用的是.NET Framework 4.0,且軟件開發(fā)的目標(biāo)平臺(tái)是X86,因此需下載 sqlite-netFx40-setup-x86-2010-1.0.105.2.exe 軟件,下載網(wǎng)址如下:
http://system.data.sqlite.org/downloads/1.0.105.2/sqlite-netFx40-setup-x86-2010-1.0.105.2.exe
另外,還有一個(gè) sqlite-netFx40-setup-bundle-x86-2010-1.0.105.2.exe,它與 sqlite-netFx40-setup-x86-2010-1.0.105.2.exe 的區(qū)別是,它含有VS2010的運(yùn)行時(shí)組件,因使用的VS2015,所有安裝該帶有bundle的軟件實(shí)際沒有什么用處,如果你使用的是VS2010,則可以進(jìn)行下載安裝,下載網(wǎng)址如下:
http://system.data.sqlite.org/downloads/1.0.105.2/sqlite-netFx40-setup-bundle-x86-2010-1.0.105.2.exe
3、下載的是Setup安裝包,因此只需按照點(diǎn)擊下一步(Next)或安裝(Install),直至安裝完畢即可。
四、創(chuàng)建加密版本的SQLite數(shù)據(jù)庫
在此使用的SQLite數(shù)據(jù)庫管理軟件為SQLite Studio,版本為3.1.1,下載網(wǎng)址如下:
https://sqlitestudio.pl/files/sqlitestudio3/complete/win32/sqlitestudio-3.1.1.zip
有人會(huì)問,怎么不使用Navicat For SQLite,這個(gè)軟件不僅有完全的中文版本,而且還有詳細(xì)使用說明,不是更好嗎?
其實(shí),當(dāng)初也想用這個(gè)軟件來對SQLite數(shù)據(jù)庫進(jìn)行管理,但在創(chuàng)建加密版本的SQLite數(shù)據(jù)庫時(shí),發(fā)現(xiàn)使用System.Data.SQLite.dll來對該數(shù)據(jù)庫操作時(shí),會(huì)彈出類似數(shù)據(jù)庫文件被加密或者不是數(shù)據(jù)庫文件的提示,而非加密版本的就沒有此問題,因此,可以使用Navicat For SQLite來對非加密的SQLite數(shù)據(jù)操作,但如果需要使用加密的SQLite數(shù)據(jù)庫,推薦使用SQLite Studio,因?yàn)樗傻募用馨姹維QLite數(shù)據(jù)庫可以被System.Data.SQLite.dll識(shí)別。
關(guān)于為何不能使用Navicat For SQLite來對加密數(shù)據(jù)庫記性操作的原因是:Navicat使用的加密算法與SQLite Studio的不一樣。
1、打開SQLite Studio,點(diǎn)擊“添加數(shù)據(jù)庫”按鈕,如下圖所示:
2、數(shù)據(jù)類型選擇“System.Data.SQLite”,點(diǎn)擊綠色添加按鈕,將文件保存至D:\Test.db,并在Password一欄內(nèi)輸入密碼:2017(如不使用密碼,此處留空即可),然后點(diǎn)擊“OK”按鈕即可創(chuàng)建一個(gè)加密版本的SQLite DB文件,如下圖所示:
3、雙擊“Test”數(shù)據(jù)庫,將會(huì)顯示其下的子節(jié)點(diǎn),選擇“Tables”,并在工具欄點(diǎn)擊“新建表”按鈕,如下圖所示:
4、在Table name文本框內(nèi)輸入表名Info,并點(diǎn)擊“Add columns(Ins)”圖標(biāo)以便添加列,如下圖所示:
5、添加第一個(gè)字段,字段名為ID,數(shù)據(jù)類型為Text,將主鍵前的復(fù)選框打鉤,并點(diǎn)擊“OK”按鈕,如下圖所示:
6、重復(fù)第4個(gè)步驟,點(diǎn)擊“Add columns(Ins)”圖標(biāo)以便添加另外一個(gè)列,字段名為Name,數(shù)據(jù)類型為Text,將非空前的復(fù)選框打鉤,并點(diǎn)擊“OK”按鈕,如下圖所示:
7、點(diǎn)擊“Commit structure changes”圖標(biāo)以便保存該表及字段,如下圖所示:
8、在彈出的對話框點(diǎn)擊“OK”按鈕,即可完成表單的創(chuàng)建工作,如下圖所示:
9、選擇“數(shù)據(jù)”選項(xiàng)卡,點(diǎn)擊“插入行(Ins)”圖標(biāo)按鈕,如下所示:
10、在行數(shù)據(jù)編輯欄里輸入兩條數(shù)據(jù),第一條數(shù)據(jù)ID為2017、Name為LSB,第二條數(shù)據(jù)ID為2011、Name為CNC,如下圖所示:
11、添加數(shù)據(jù)完畢之后,點(diǎn)擊“提交(Ctrl+Return)”圖標(biāo)按鈕提交剛才輸入的兩條數(shù)據(jù),如下圖所示:
12、關(guān)閉SQLite Studio數(shù)據(jù)庫管理軟件。
五、使用System.Data.SQLite.dll訪問SQLite數(shù)據(jù)庫
1、新建一個(gè)項(xiàng)目名為“SQLiteTest”的控制臺(tái)應(yīng)用程序,如下圖所示:
2、在“SQLiteTest”項(xiàng)目中右鍵點(diǎn)擊“引用”,在彈出的上下文菜單中選擇“添加引用(R)”,如下圖所示:
3、將路徑為“C:\Program Files (x86)\System.Data.SQLite\2010\GAC\System.Data.SQLite.dll”的引用添加進(jìn)來,如下圖所示:
4、在項(xiàng)目屬性設(shè)置中,將“生成”選項(xiàng)卡中的目標(biāo)平臺(tái)改為“X86”,否則,軟件無法運(yùn)行,原因是使用的是X86版本的System.Data.SQLite.dll,如下圖所示:
5、在Main主函數(shù)里輸入以下代碼,如下:
using System; using System.Data.SQLite; using System.Data; namespace SQLiteTest { class Program { static void Main(string[] args) { using (SQLiteConnection connection = new SQLiteConnection(@"Data Source = D:\test.db;Password = 2017")) { using (SQLiteCommand command = new SQLiteCommand(connection) { CommandText = "SELECT * FROM [main].[Info]" }) { DataTable table = new DataTable("Info"); SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); adapter.Fill(table); foreach(DataRow row in table.Rows) { foreach(DataColumn col in table.Columns) { Console.Write($"{row[col]}\t"); } Console.WriteLine(); } } } Console.ReadKey(); } } }
6、運(yùn)行結(jié)果如下:
附源代碼:C#創(chuàng)建SQLite控制臺(tái)應(yīng)用程序
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。
欄 目:C#教程
下一篇:C#請求http向網(wǎng)頁發(fā)送接收數(shù)據(jù)的方法
本文標(biāo)題:C#創(chuàng)建SQLite控制臺(tái)應(yīng)用程序詳解
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5574.html
您可能感興趣的文章
- 01-10winform實(shí)現(xiàn)創(chuàng)建最前端窗體的方法
- 01-10C#動(dòng)態(tài)創(chuàng)建button的方法
- 01-10深入淺出23種設(shè)計(jì)模式
- 01-10winform創(chuàng)建不規(guī)則窗體的方法
- 01-10C#動(dòng)態(tài)創(chuàng)建Access數(shù)據(jù)庫及密碼的方法
- 01-10C#實(shí)現(xiàn)在啟動(dòng)目錄創(chuàng)建快捷方式的方法
- 01-10C#創(chuàng)建不規(guī)則窗體的4種方式詳解
- 01-10C#創(chuàng)建數(shù)據(jù)庫及導(dǎo)入sql腳本的方法
- 01-10詳解C#編程中異常的創(chuàng)建和引發(fā)以及異常處理
- 01-10C#程序中創(chuàng)建、復(fù)制、移動(dòng)、刪除文件或文件夾的示例


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻 器左下角滾動(dòng)新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery