C#連接SQLite數(shù)據(jù)庫(kù)方法總結(jié)_第1頁(yè)
C#連接SQLite數(shù)據(jù)庫(kù)方法總結(jié)_第2頁(yè)
C#連接SQLite數(shù)據(jù)庫(kù)方法總結(jié)_第3頁(yè)
C#連接SQLite數(shù)據(jù)庫(kù)方法總結(jié)_第4頁(yè)
C#連接SQLite數(shù)據(jù)庫(kù)方法總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C#連接SQLite數(shù)據(jù)庫(kù)方法總結(jié)發(fā)布者:IT168日期:2010-03-2118:03:35瀏覽次數(shù):113(共有0條評(píng)論)查看評(píng)論|我要評(píng)論

1.SQLite,是一款輕型的數(shù)據(jù)庫(kù),是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語(yǔ)言相結(jié)合,比如Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開(kāi)源世界著名的數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)講,它的處理速度比他們都快。SQLite第一個(gè)Alpha版本誕生于2000年5月.至今已經(jīng)有10個(gè)年頭,SQLite也迎來(lái)了一個(gè)版本SQLite3已經(jīng)發(fā)布。官方網(wǎng)站:/2C#連接,操作SQLite數(shù)據(jù)庫(kù)2.1結(jié)合EnterpriseLibrary連接,操作SQLite企業(yè)庫(kù)是我們常用的框架之一,可以從/下載。安裝之后有源代碼和chm的文檔。最新版本目前是V5.0。里面的很多思想更值得我們程序員去研究,例如:如何設(shè)計(jì)可擴(kuò)展的組建?企業(yè)庫(kù)中的數(shù)據(jù)訪問(wèn)組件更是我們常用的數(shù)據(jù)訪問(wèn)組件之一。組件默認(rèn)支持SQLServer和Oracle的數(shù)據(jù)庫(kù)訪問(wèn),支持自定義的擴(kuò)展。使用企業(yè)庫(kù)操作SQLite數(shù)據(jù)庫(kù),需要用到企業(yè)庫(kù)的一個(gè)擴(kuò)展組件,EnterpriseLibraryContrib。里面擴(kuò)展了企業(yè)庫(kù)的很多功能。其中對(duì)數(shù)據(jù)庫(kù)的擴(kuò)展包括了訪問(wèn)操作SQLite,讓我們可以像在操作SQLSERVER那樣,保持代碼不用很大的修改,可以很容易的過(guò)渡到SQLite上。遺憾的是目前的這個(gè)entlibcontrib的版本是V4.1,它只支持企業(yè)庫(kù)的V4.1版本,也就是說(shuō)它只能和V4.1版本的企業(yè)庫(kù)的數(shù)據(jù)訪問(wèn)組件配合使用。否則會(huì)報(bào)錯(cuò)。在/上也可以下載到歷史版本,也就是可以下載到V4.1。用法也可以參考:ASP.NET:UsingSQLitewithEnterpriseLibrary3.1首先在web.config或者是app.config中添加如下配置<configuration>

<configSections>

<sectionname="dataConfiguration"type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,Microsoft.Practices.EnterpriseLibrary.Data,Version=,Culture=neutral,PublicKeyToken=null/>

</configSections>

<dataConfigurationdefaultDatabase="

">

<providerMappings>

<adddatabaseType="EntLibContrib.Data.SQLite.SQLiteDatabase,EntLibContrib.Data.SqLite,Version=,Culture=neutral,PublicKeyToken=null"

name="System.Data.SQLite"/>

</providerMappings>

</dataConfiguration>

<connectionStrings>

<addname="sqlite"connectionString="DataSource=|DataDirectory|\db;Pooling=true;FailIfMissing=false"

providerName="System.Data.SQLite"/>

</connectionStrings>

</configuration>

上面的connectionstring配置節(jié)的db就是SQLite的數(shù)據(jù)庫(kù)文件,將它放在Web應(yīng)用的App_Data目錄,|DataDirectory|就代表這個(gè)目錄的位置,后面的就是文件名。剩下的就是我們使用企業(yè)庫(kù)訪問(wèn)SQLServer是一樣的了。Databasedb=DatabaseFactory.CreateDatabase("ConnectionString");

DbCommandcomm=db.GetStoredProcCommand("GetUserByID");

IDataReaderreader=null;

db.AddInParameter(comm,"UserID",DbType.String,"12");

using(reader=db.ExecuteReader(comm))

{

}

2.2使用SQLite.NET訪問(wèn)SQLiteSQLite.NET也是一個(gè)數(shù)據(jù)訪問(wèn)組件,其中的System.Data.SQLite就好像是.NET自帶的System.Data.SqlClient一樣。里面包含了connection、command等數(shù)據(jù)訪問(wèn)的常用對(duì)象,只是他們前面都有一個(gè)前綴sqlite。下載地址:/添加System.Data.SQLite的引用之后。在配置文件(web.configorapp.config)中添加如下配置<system.data>

<DbProviderFactories>

<removeinvariant="System.Data.SQLite"/>

<addname="SQLiteDataProvider"invariant="System.Data.SQLite"description=".NetFrameworkDataProviderforSQLite"type="System.Data.SQLite.SQLiteFactory,System.Data.SQLite,Version=,Culture=neutral,PublicKeyToken=db937bc2d44ff139"/>

</DbProviderFactories>

</system.data>

也就是添加一個(gè)DbProviderFactory的創(chuàng)建源,在代碼中就可以使用DbProviderFactory類來(lái)創(chuàng)建SQLite的數(shù)據(jù)訪問(wèn)對(duì)象了。DbProviderFactoryfact=DbProviderFactories.GetFactory("System.Data.SQLite");

using(DbConnectionconn=fact.CreateConnection())

{

conn.ConnectionString=System.Configuration.ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString;

conn.Open();

DbCommandcomm=conn.CreateCommand();

comm.CommandText="select*fromcustomer";

comm.CommandType=CommandType.Text;

using(IDataReaderreader=comm.ExecuteReader())

{

while(reader.Read())

{

Response.Write(reader[0]);

}

}

}2.3使用原生態(tài)的ADO.NET訪問(wèn)SQLite原生態(tài)的訪問(wèn),就是說(shuō)直接用connection和command這些對(duì)象打開(kāi)數(shù)據(jù)庫(kù),然后打開(kāi)連接,進(jìn)行數(shù)據(jù)的操作。using(DbConnectionconn=newSQLiteConnection(System.Configuration.ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString))

{

conn.Open();

DbCommandcomm=conn.CreateCommand();

comm.CommandText="select*fromcustomer";

comm.CommandType=CommandType.Text;

using(IDataReaderreader=comm.ExecuteReader())

{

while(reader.Read())

{

Response.Write(reader[0]);

}

}

}

3SQLite的相關(guān)工具3.1SQLiteDatabaseBrowser既然SQLite是一個(gè)數(shù)據(jù)庫(kù),那么我們肯定想要一個(gè)GUI工具來(lái)操作這個(gè)數(shù)據(jù)庫(kù),進(jìn)行管理。創(chuàng)建庫(kù)、表、執(zhí)行SQL語(yǔ)句等操作都可以在一個(gè)GUI上進(jìn)行操作就好了。SQLiteDatabaseBrowser就是這樣的一款工具,下載地址:/

在上圖中看到三個(gè)tab:DatabaseStructure,BrowserData,ExecuteSQL。通過(guò)第一個(gè)可以查看數(shù)據(jù)庫(kù)的結(jié)構(gòu),第二個(gè)可以瀏覽數(shù)據(jù),第三個(gè)可以執(zhí)行任何SQL語(yǔ)句,下面可以顯示sql語(yǔ)句的執(zhí)行結(jié)果。這個(gè)工具還可以進(jìn)行數(shù)據(jù)庫(kù)的管理工作。

1.SQLite,是一款輕型的數(shù)據(jù)庫(kù),是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語(yǔ)言相結(jié)合,比如Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開(kāi)源世界著名的數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)講,它的處理速度比他們都快。SQLite第一個(gè)Alpha版本誕生于2000年5月.至今已經(jīng)有10個(gè)年頭,SQLite也迎來(lái)了一個(gè)版本SQLite3已經(jīng)發(fā)布。官方網(wǎng)站:/2C#連接,操作SQLite數(shù)據(jù)庫(kù)2.1結(jié)合EnterpriseLibrary連接,操作SQLite企業(yè)庫(kù)是我們常用的框架之一,可以從/下載。安裝之后有源代碼和chm的文檔。最新版本目前是V5.0。里面的很多思想更值得我們程序員去研究,例如:如何設(shè)計(jì)可擴(kuò)展的組建?企業(yè)庫(kù)中的數(shù)據(jù)訪問(wèn)組件更是我們常用的數(shù)據(jù)訪問(wèn)組件之一。組件默認(rèn)支持SQLServer和Oracle的數(shù)據(jù)庫(kù)訪問(wèn),支持自定義的擴(kuò)展。使用企業(yè)庫(kù)操作SQLite數(shù)據(jù)庫(kù),需要用到企業(yè)庫(kù)的一個(gè)擴(kuò)展組件,EnterpriseLibraryContrib。里面擴(kuò)展了企業(yè)庫(kù)的很多功能。其中對(duì)數(shù)據(jù)庫(kù)的擴(kuò)展包括了訪問(wèn)操作SQLite,讓我們可以像在操作SQLSERVER那樣,保持代碼不用很大的修改,可以很容易的過(guò)渡到SQLite上。遺憾的是目前的這個(gè)entlibcontrib的版本是V4.1,它只支持企業(yè)庫(kù)的V4.1版本,也就是說(shuō)它只能和V4.1版本的企業(yè)庫(kù)的數(shù)據(jù)訪問(wèn)組件配合使用。否則會(huì)報(bào)錯(cuò)。在/上也可以下載到歷史版本,也就是可以下載到V4.1。用法也可以參考:ASP.NET:UsingSQLitewithEnterpriseLibrary3.1首先在web.config或者是app.config中添加如下配置<configuration>

<configSections>

<sectionname="dataConfiguration"type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,Microsoft.Practices.EnterpriseLibrary.Data,Version=,Culture=neutral,PublicKeyToken=null/>

</configSections>

<dataConfigurationdefaultDatabase="

">

<providerMappings>

<adddatabaseType="EntLibContrib.Data.SQLite.SQLiteDatabase,EntLibContrib.Data.SqLite,Version=,Culture=neutral,PublicKeyToken=null"

name="System.Data.SQLite"/>

</providerMappings>

</dataConfiguration>

<connectionStrings>

<addname="sqlite"connectionString="DataSource=|DataDirectory|\db;Pooling=true;FailIfMissing=false"

providerName="System.Data.SQLite"/>

</connectionStrings>

</configuration>

上面的connectionstring配置節(jié)的db就是SQLite的數(shù)據(jù)庫(kù)文件,將它放在Web應(yīng)用的App_Data目錄,|DataDirectory|就代表這個(gè)目錄的位置,后面的就是文件名。剩下的就是我們使用企業(yè)庫(kù)訪問(wèn)SQLServer是一樣的了。Databasedb=DatabaseFactory.CreateDatabase("ConnectionString");

DbCommandcomm=db.GetStoredProcCommand("GetUserByID");

IDataReaderreader=null;

db.AddInParameter(comm,"UserID",DbType.String,"12");

using(reader=db.ExecuteReader(comm))

{

}

2.2使用SQLite.NET訪問(wèn)SQLiteSQLite.NET也是一個(gè)數(shù)據(jù)訪問(wèn)組件,其中的System.Data.SQLite就好像是.NET自帶的System.Data.SqlClient一樣。里面包含了connection、command等數(shù)據(jù)訪問(wèn)的常用對(duì)象,只是他們前面都有一個(gè)前綴sqlite。下載地址:/添加System.Data.SQLite的引用之后。在配置文件(web.configorapp.config)中添加如下配置<system.data>

<DbProviderFactories>

<removeinvariant="System.Data.SQLite"/>

<addname="SQLiteDataProvider"invariant="System.Data.SQLite"description=".NetFrameworkDataProviderforSQLite"type="System.Data.SQLite.SQLiteFactory,System.Data.SQLite,Version=,Culture=neutral,PublicKeyToken=db937bc2d44ff139"/>

</DbProviderFactories>

</system.data>

也就是添加一個(gè)DbProviderFactory的創(chuàng)建源,在代碼中就可以使用DbProviderFactory類來(lái)創(chuàng)建SQLite的數(shù)據(jù)訪問(wèn)對(duì)象了。DbProviderFactoryfact=DbProviderFactories.GetFactory("System.Data.SQLite");

using(DbConnectionconn=fact.CreateConnection())

{

conn.ConnectionString=System.Configuration.ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString;

conn.Open();

DbCommandcomm=conn.CreateCommand();

comm.CommandText="select*fromcustomer";

comm.CommandType=CommandType.Text;

using(IDataReaderreader=comm.ExecuteReader())

{

while(reader.Read())

{

Response.Write(reader[0]);

}

}

}2.3使用原生態(tài)的ADO.NET訪問(wèn)SQLite原生態(tài)的訪問(wèn),就是說(shuō)直接用connection和command這些對(duì)象打開(kāi)數(shù)據(jù)庫(kù),然后打開(kāi)連接,進(jìn)行數(shù)據(jù)的操作。using(DbConnectionconn=newSQLiteConne

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論