使用C#建立SQLite控制檯應用程序

本文屬於原創,轉載請註明出處,謝謝!html

1、開發環境算法

操做系統:Windows 10 X64sql

開發環境:VS2015數據庫

編程語言:C#編程

.NET版本:.NET Framework 4.0編程語言

目標平臺:X86函數

2、前言工具

以前使用的是軟件的Access來建立基於本地的數據庫軟件,發如今使用過程當中,發現Access比較耗內存,運行速度比SQLite稍微慢,另一個最重要的是Access加密的文件容易被破解,所以,如今轉向使用SQLite來代替Access。加密

3、SQLite的下載spa

一、因爲是基於.NET的C#編程,需下載System.Data.SQLite.dll來進行引用,下載網址以下:

二、因爲使用的是.NET Framework 4.0,且軟件開發的目標平臺是X86,所以需下載 sqlite-netFx40-setup-x86-2010-1.0.105.2.exe 軟件,下載網址以下:

另外,還有一個 sqlite-netFx40-setup-bundle-x86-2010-1.0.105.2.exe,它與 sqlite-netFx40-setup-x86-2010-1.0.105.2.exe 的區別是,它含有VS2010的運行時組件,因使用的VS2015,全部安裝該帶有bundle的軟件實際沒有什麼用處,若是你使用的是VS2010,則能夠進行下載安裝,下載網址以下:

三、下載的是Setup安裝包,所以只需按照點擊下一步(Next)或安裝(Install),直至安裝完畢便可。

4、建立加密版本的SQLite數據庫

在此使用的SQLite數據庫管理軟件爲SQLite Studio,版本爲3.1.1,下載網址以下:

有人會問,怎麼不使用Navicat For SQLite,這個軟件不只有徹底的中文版本,並且還有詳細使用說明,不是更好嗎?

其實,當初也想用這個軟件來對SQLite數據庫進行管理,但在建立加密版本的SQLite數據庫時,發現使用System.Data.SQLite.dll來對該數據庫操做時,會彈出相似數據庫文件被加密或者不是數據庫文件的提示,而非加密版本的就沒有此問題,所以,可使用Navicat For SQLite來對非加密的SQLite數據操做,但若是須要使用加密的SQLite數據庫,推薦使用SQLite Studio,由於它生成的加密版本SQLite數據庫能夠被System.Data.SQLite.dll識別。

關於爲什麼不能使用Navicat For SQLite來對加密數據庫記性操做的緣由是:Navicat使用的加密算法與SQLite Studio的不同。

一、打開SQLite Studio,點擊「添加數據庫」按鈕,以下圖所示:

二、數據類型選擇「System.Data.SQLite」,點擊綠色添加按鈕,將文件保存至D:\Test.db,並在Password一欄內輸入密碼:2017(如不使用密碼,此處留空便可),而後點擊「OK」按鈕便可建立一個加密版本的SQLite DB文件,以下圖所示:

三、雙擊「Test」數據庫,將會顯示其下的子節點,選擇「Tables」,並在工具欄點擊「新建表」按鈕,以下圖所示:

四、在Table name文本框內輸入表名Info,並點擊「Add columns(Ins)」圖標以便添加列,以下圖所示:

五、添加第一個字段,字段名爲ID,數據類型爲Text,將主鍵前的複選框打鉤,並點擊「OK」按鈕,以下圖所示:

六、重複第4個步驟,點擊「Add columns(Ins)」圖標以便添加另一個列,字段名爲Name,數據類型爲Text,將非空前的複選框打鉤,並點擊「OK」按鈕,以下圖所示:

七、點擊「Commit structure changes」圖標以便保存該表及字段,以下圖所示:

八、在彈出的對話框點擊「OK」按鈕,便可完成表單的建立工做,以下圖所示:

九、選擇「數據」選項卡,點擊「插入行(Ins)」圖標按鈕,以下所示:

十、在行數據編輯欄裏輸入兩條數據,第一條數據ID爲201七、Name爲LSB,第二條數據ID爲20十一、Name爲CNC,以下圖所示:

十一、添加數據完畢以後,點擊「提交(Ctrl+Return)」圖標按鈕提交剛纔輸入的兩條數據,以下圖所示:

十二、關閉SQLite Studio數據庫管理軟件。

5、使用System.Data.SQLite.dll訪問SQLite數據庫

一、新建一個項目名爲「SQLiteTest」的控制檯應用程序,以下圖所示:

二、在「SQLiteTest」項目中右鍵點擊「引用」,在彈出的上下文菜單中選擇「添加引用(R)」,以下圖所示:

三、將路徑爲「C:\Program Files (x86)\System.Data.SQLite\2010\GAC\System.Data.SQLite.dll」的引用添加進來,以下圖所示:

四、在項目屬性設置中,將「生成」選項卡中的目標平臺改成「X86」,不然,軟件沒法運行,緣由是使用的是X86版本的System.Data.SQLite.dll,以下圖所示:

 

五、在Main主函數裏輸入如下代碼,以下:

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();
        }
    }
}

六、運行結果以下:

 

附源代碼:

相關文章
相關標籤/搜索