C#串連SQLite資料庫方法

來源:互聯網
上載者:User

標籤:

--結合Enterprise Library串連,操作SQLite

  企業庫是我們常用的架構之一,可以從http://entlib.codeplex.com/下載Enterprise Library 5.0.msi。安裝之後有原始碼和chm的文檔。裡面的很多思想更值得我們程式員去研究。
企業庫中的資料訪問組件更是我們常用的資料訪問組件之一。組件預設支援SQL Server和Oracle的資料庫訪問,支援自訂的擴充。

--使用企業庫操作SQLite資料庫
需要用到企業庫的一個向外延展群組件,Enterprise Library Contrib 。裡面擴充了企業庫的很多功能。其中對資料庫的擴充包括了訪問操作SQLite,讓我們可以像在操作SQL SERVER那樣,
保持代碼不用很大的修改,可以很容易的過渡到SQLite上。在http://entlib.codeplex.com/上也可以下載到最新的entlibcontrib-5.0.505.0-2011-10-29-bin.zip。

--SQLite.NET也是一個資料訪問組件
其中的System.Data.SQLite就好像是.NET內建的System.Data.SqlClient一樣。裡麵包含了connection、command等資料訪問的常用對象,只是他們前面都有一個首碼sqlite。
: http://sqlite.phxsoftware.com/下載最新版SQLite,SQLite-1.0.66.0-setup.exe,安裝完成後會產生動態連結程式庫System.Data.SQLite.DLL,在項目中直接引用System.Data.SQLite即可。
只有使用SQLite.NET訪問SQLite時才需要此操作。

--SQLite Expert是一款可視化的資料庫管理工具
允許使用者在 SQLite 伺服器上執行建立、編輯、複製、提取等操作。SQLite Expert支援所有的圖形介面的SQLite特徵。它包括一個可視化查詢產生器,一個SQL編輯與文法突出和代碼自動完成,
強大的table和view設計與匯入匯出功能。 SQLite Expert現在分為兩個版本,一個是免費的Personal Edition,一個是收費 Professional Edition。

--串連方法
首先在web.config或者是app.config中添加如下配置,connectionstring配置節的db就是 SQLite的資料庫檔案,將它放在Web應用的App_Data目錄,|DataDirectory|就代表這個目錄的位置,
後面的就是檔案名稱,剩下的就是我們使用企業庫訪問SQL Server是一樣的了。

<configuration>        <configSections>          <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null />        </configSections>        <dataConfiguration defaultDatabase="         ">           <providerMappings>            <add databaseType="EntLibContrib.Data.SQLite.SQLiteDatabase, EntLibContrib.Data.SqLite, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"              name="System.Data.SQLite" />          </providerMappings>        </dataConfiguration>        <connectionStrings>          <add name="sqlite" connectionString="Data Source=|DataDirectory|\db;Pooling=true;FailIfMissing=false"            providerName="System.Data.SQLite" />        </connectionStrings>      </configuration>

--使用SQLite.NET訪問SQLite
添加System.Data.SQLite的引用之後。在設定檔(web.config or app.config)中添加如下配置,
也就是添加一個DbProviderFactory的建立源,在代碼中就可以使用DbProviderFactory類來建立SQLite的Data Access Objects了。

<system.data>          <DbProviderFactories>            <remove invariant="System.Data.SQLite"/>            <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite"                   type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />          </DbProviderFactories>        </system.data>

--使用原生態的ADO.NET訪問SQLite
原生態的訪問,就是說直接用connection和command這些對象開啟資料庫,然後開啟串連,進行資料的操作。

DbProviderFactory fact = DbProviderFactories.GetFactory("System.Data.SQLite");                    using (DbConnection conn = fact.CreateConnection())                    {                        conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString;                        conn.Open();                        DbCommand comm = conn.CreateCommand();                        comm.CommandText ="select * from customer";                        comm.CommandType = CommandType.Text;                        using (IDataReader reader = comm.ExecuteReader())                        {                            while (reader.Read())                            {                                Response.Write(reader[0]);                            }                        }                    }

 

C#串連SQLite資料庫方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.