1. 程式人生 > >在.NET中利用SQLite ADO.NET使用SQLite資料庫

在.NET中利用SQLite ADO.NET使用SQLite資料庫

System.Data.SQLite

是一個原始SQLite的加強版. 它將是一個原版的sqlite3.dll完全替代品 (你甚至就可以把它重新命名為sqlite3.dll). 它不需要連結.NET 執行時,所以可以脫離.NET獨立釋出, 然而它內嵌了一個完整的 ADO.NET 2.0 引擎,為開發提供了完整的支援.

以下是它的特性簡介:

完整的 ADO.NET 2.0 實現

整個工程完全基於VS2005 和 ADO.NET 2.0全新構建, 使用了全部的ADO.NET framework新特性. 包括完整的 DbProviderFactory 支援, 自動的分散式事務呼叫, 廣泛的模式支援, 此外所有的類都是從 ADO.NET 2.0 的基類繼承下來的.

支援完整和精簡的 .NET Framework 以及 C/C++

這個庫不需要連結依賴.NET執行時,100%相容原始的sqlite3.dll,可以使用非託管的C/C++ 進行開發.

可移植的資料庫檔案

未加密的 SQLite 資料庫檔案可以自由的跨平臺和處理器使用,包括非Windows平臺. 加密之後的資料庫可以在全部Windows平臺上使用.

可以信賴的速度,比包括Sql Server Mobile 在內的其它大多數嵌入式資料庫都要快速

SQLite'安裝所佔用的空間相對於Sql Mobile可謂忽略不計了. 它在執行的時候佔用更少的記憶體,同時生成的資料庫也更小.

資料庫加密

可以對整個資料庫檔案進行加密. 支援二進位制和明文的密碼.

支援使用Visual Studio 2005 設計

你可以向Server Explorer新增一個SQLite 連線, 使用查詢設計器建立處查詢語句, 向一個數據集中拖拽一個表格等等! SQLite的開發者可以在包括體驗版在內的各種Visual Studio 2005下工作.

單檔案再發布包容量在400kb以下

將SQLite本身和ADO.NET 封裝捆綁編譯在一起. 預編譯的二進位制檔案提供了 x86, IA64, x64 和ARM 的版本.

廣泛的SQL語言支援

SQLite 支援大部分的SQL92 標準(see below). 支援命名和未命名的引數以 UTF-8 和UTF-16 編碼通過優化的管道傳入SQLite 核心.

使用者自定義的函式 和 排序

全面支援使用者自定義函式和排序方式,意味著你可以用自己喜歡的.NET語言來實現SQLite沒有提供的特性. 這一切將非常的簡單.

提供了全部的原始碼. 100% 免費.

全部的封裝庫原始碼都是公有的. 無論是個人還是商業應用都沒有任何的協議約束.

二、在C#中使用SQLite

1、通過Add References引用SQLite ADO .NET安裝目錄的bin目錄下的System.Data.SQLite.DLL。

2、建立資料庫檔案:因為始終是個0位元組檔案,應該利用IO也可以(?!)。

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲System.Data.SQLite.SQLiteConnection.CreateFile(datasource);

3、連線資料庫

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection(connectionString);

connectionString中包含了資料庫的一些配置資訊,比如資料庫檔案,資料庫開啟的密碼等,可以利用System.Data.SQLite.SQLiteConnectionStringBuilder來輔助建立connectionString

4、建立表、讀取資料等和Access或MS SQL沒多大區別了

            //建立一個數據庫檔案

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲            string datasource="h:/test.db";

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             System.Data.SQLite.SQLiteConnection.CreateFile(datasource);

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲            //連線資料庫

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             System.Data.SQLite.SQLiteConnectionStringBuilder connstr = new System.Data.SQLite.SQLiteConnectionStringBuilder();

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             connstr.DataSource = datasource;

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             connstr.Password = "admin";//設定密碼,SQLite ADO.NET實現了資料庫密碼保護

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             conn.ConnectionString = connstr.ToString();            

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             conn.Open();

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲            //建立表

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand();

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲            string sql = "CREATE TABLE test(username varchar(20),password varchar(20))";

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             cmd.CommandText=sql;

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             cmd.Connection=conn;

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             cmd.ExecuteNonQuery();

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲            //插入資料

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             sql = "INSERT INTO test VALUES('ekinglong','mypassword')";

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             cmd.CommandText = sql;

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             cmd.ExecuteNonQuery();

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲            //取出資料

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             sql = "SELECT * FROM test";

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             cmd.CommandText = sql;

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             System.Data.SQLite.SQLiteDataReader reader = cmd.ExecuteReader();

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             StringBuilder sb = new StringBuilder();

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲            while (reader.Read())

            {

                 sb.Append("username:").Append(reader.GetString(0)).Append("\n")

                 .Append("password:").Append(reader.GetString(1));

             }

利用SQLite ADO.NET在.NET(C#)中使用SQLite資料庫 - 白雲 - 白雲             MessageBox.Show(sb.ToString());

相關推薦

在.NET利用SQLite ADO.NET使用SQLite資料庫

System.Data.SQLite 是一個原始SQLite的加強版. 它將是一個原版的sqlite3.dll完全替代品 (你甚至就可以把它重新命名為sqlite3.dll). 它不需要連結.NET 執行時,所以可以脫離.NET獨立釋出, 然而它內嵌了一個完整的 ADO.NET 2.0 引擎,為開發提供了

關於.Net使用SQLite數據庫的方法

ransac ade dmi open .net count linux 大致 插入 參考: SQLite之C#連接SQLite https://www.cnblogs.com/icebutterfly/p/7850689.html 關於SQLite的庫

asp.net 利用 js 獲取地址欄參數

.net provide ram UNC color 進行 ref name function 1、aspx頁面,進行頁面跳轉 window.location.href = "ProviderInfo.aspx?ProviderID="+ProviderID; 2、P

C#(.net)的一次連線資料庫執行多條sql語句(兩種方法)

第一種方法: string str="server=.;uid=sa;pwd=111111;database=text_db";//連線字串 SqlConnection SCON = null;//連線物件 SqlCommand SCom=new SqlCommand();/

ASP.NET利用Application和Session統計線上人數、歷史訪問量

          先來簡單說一下ASP.NET中的Application和Session           下圖是我們非常熟悉的Web應用程式的結構:                    在這張圖中,Web伺服器中執行的Web應用程式就是我們所說的Applicati

.Net通過DataSet直接更新資料庫相關問題和解決方法

一般存在的問題: 1. 沒有acceptchange2. 資料庫中表沒有設定主鍵 解決方法: 使用DataAdapter的update方法更新資料,該資料表必須設定主鍵,那是因為這個方法的實現原理實際上只不過是根據表結構和主鍵自動生成SQL 也許你的資料表本身是有主鍵的,但是

ASP.NET利用DataGrid控制元件顯示圖片以及在圖片和文字上加超連結

資料表:     介面程式碼:                  <asp:DataGrid ID="DataGrid1" runat="server" AutoGenerateColumns="False" BorderWidth="0px"  PageSiz

.Net利用config檔案來儲存資訊

前言:              在做一些專案時,往往會有站點的一些配置資訊需要儲存,比如站點名稱,電話,聯絡人,郵箱這些等等,又因為此資訊不經常更新,而且是單一的,所以放入資料庫中會感覺佔用了不必要的一些資源。所以就會想到這些資訊放入檔案中來儲存。下面是我的一個例子,分

ASP.NET利用DataGrid實現高效分頁

ASP.Net中的DataGrid有內建分頁功能, 但是它的預設的分頁方式效率是很低的,特別是在資料量很大的時候,用它內建的分頁功能幾乎是不可能的事,因為它會把所有的資料從資料庫讀出來再進行分頁, 這種只選取了一小部分而丟掉大部分的方法是不可去取的.    在最進的一個專案中

MFC利用ADO資料庫進行簡單操作的例項

目標:實現對資料庫中的資料進行簡單地操作,包括增、刪、改、查。 第一步,建立一個基於對話方塊的應用程式,命名為TestAdo 第二步,按照圖1的介面佈局新增控制元件 圖1 程式介面示意圖 第三步,程式碼實現      首先,要用#import語句來引用支援ADO的

在C#利用Nuget包使用SQLite資料庫和Linq to SQLite

本來是學習在VB中使用SQLite資料庫和Linq to SQLite,結果先學習到了在C#中使用SQLite資料庫和Linq to SQLite的方法,寫出來與大家共同學習。(不知道算不算不務正業) 1、建立或開啟一個C#專案,如果是新建的專案則需要先儲存一下,不然無法安裝Nuget包。 2、安裝Nu

利用.net替換Word的內容(從資料庫取資料來替換word裡面的書籤)

2.要在webconfig檔案裡面加上一句:   <identity impersonate="true"/> 主要是模擬身份的吧,如果不加的話,程式執行的時候會報出拒絕訪問的錯誤的.(而且你需要預先做好一個帶書籤的word模板)3.    新建立一個也面,在面上部加如using Word;   

在ASP.NET MVC利用Aspose.cells 將查詢出的數據導出為excel,並在瀏覽器下載。

width tdi 新增 column 需求 options 解決 印象 ats 正題前的嘮叨 本人是才出來工作不久的小白菜一顆,技術很一般,總是會有遇到一些很簡單的問題卻不知道怎麽做,這些問題可能是之前解決過的。發現這個問題,想著提升一下自己的技術水平,將一些學的新的‘好

ADO.NET的存儲過程封裝

c# ado.net sql存儲過程 //獲取連接字符串 private static readonly string ConnectionString=ConfigurationManager.["connectionString"].ConnectionString;//執行增刪改的存儲過程p

[轉載]ADO.NET的五個主要對象

reader 而已 net 一次 tar com 行數 當我 命令 Connection:主要是開啟程序和數據庫之間的連接。沒有利用連接對象將數據庫打開,是無法從數據庫中取得數據的。Close和Dispose的區別,Close以後還可以Open,Dispose以後則不能再用

ado.net的 sqlconnection sqlcommand datareader dataset SqlDataAdapter之間的關系

狀態 database 表名 客戶 要點 open pan 代碼 自定義 1 上帝說,要連接數據庫,於是就有了sqlconnection (數據庫連接,配置連接字符串等,用戶名密碼之類)2 上帝說,要執行sql語句。於是就有了sqlcommand, 直接翻譯成sql命令。每

ADO.NET的模型及對象

list exec cmd 成功 密碼 comm log top sin 一、ADO.NET中的模型及對象 1、EexcuteNonQuery------>實現非查詢操作(增刪改)   sql語句查詢非參數化 //連接字符串

Asp.Net Core利用Seq組件展示結構化日誌功能

eve 發布 哪裏 HA 快速 inf ron void 級別 在一次.Net Core小項目的開發中,掌握的不夠深入,對日誌記錄並沒有好好利用,以至於一出現異常問題,都得跑動服務器上查看,那時一度懷疑自己肯定沒學好,不然這一塊日誌不可能需要自己扒服務器日誌來查看,果然,很

ADO.NETDataTable的應用(讀書筆記4)

errors 訪問 cep ati 設置 datarow ember for sql 一.思維導圖 二.知識點描述 DataTable是一個臨時保存數據的網格虛擬表(表示內存中數據的一個表。) 1.用法介紹: (1)可以使用相應的 DataTable 構造函數創建 Da

ADO.NETDataTable的應用

  知識點 DataTable是一個臨時儲存資料的網格虛擬表(表示記憶體中資料的一個表。) 1.用法介紹: (1)可以使用相應的 DataTable 建構函式建立 DataTable 物件。 可以通過使用 Add 方法將其新增到