詳談ADO.NET程序使用技巧與相關(guān)事宜
對(duì)于ADO.NET程序提供一個(gè)類的集合,專門設(shè)計(jì)用來同特定類型的數(shù)據(jù)存儲(chǔ)區(qū)進(jìn)行通信。.NET Framework包括4種此類提供程序:SQL Client .NET數(shù)據(jù)提供程序、Oracle Client .NET數(shù)據(jù)提供程序。
SQL Client和Oracle Client .NET數(shù)據(jù)提供程序設(shè)計(jì)用于分別同特定數(shù)據(jù)庫——SQL Server和Oracle進(jìn)行通信。ODBC和OLE DB .NET數(shù)據(jù)提供程序經(jīng)常被稱為“橋梁”組件,因?yàn)樗鼈冇米魍ㄏ蛟缙诩夹g(shù)——ODBC和OLE DB的橋梁。這些提供程序使開發(fā)人員能夠分別通過ODBC驅(qū)動(dòng)程序和OLE DB提供程序同各種數(shù)據(jù)存儲(chǔ)區(qū)進(jìn)行通信。#t#
每種.NET數(shù)據(jù)提供程序都實(shí)現(xiàn)相同的基類—— ProviderFactory,Connection,ConnectionStringBuilder,Command,DataReader,Parameter和Transaction,只是其實(shí)際名稱取決于該數(shù)據(jù)提供程序。例如,SQL Client .NET數(shù)據(jù)提供程序具有SqlConnection類,ADO.NET程序而ODBC .NET數(shù)據(jù)提供程序包括OdbcConnection類。無論使用哪種.NET數(shù)據(jù)提供程序,此數(shù)據(jù)提供程序的Connection類都通過相同的基接口實(shí)現(xiàn)相同的基本特性。
- Visual C#
- //打開和關(guān)閉一個(gè)OdbcConnection
- OdbcConnection cnOdbc = new OdbcConnection();
- cnOdbc.ConnectionString = "Driver={SQL Server};" +
- @"Server=.\SQLExpress" +
- "Database=Northwind;...";
- cnOleDb.Open();
- ...
- cnOleDb.Close();
- //打開和關(guān)閉一個(gè)SqlConnection
- SqlConnection cnSql = new SqlConnection();
- cnSql.ConnectionString = @"Data Source=.\SQLExpress;" +
- "Initial Catalog=Northwind;...";
- cnSql.Open();
- ...
- cnSql.Close();
要對(duì)數(shù)據(jù)存儲(chǔ)區(qū)打開一個(gè)連接,可創(chuàng)建此提供程序連接類的一個(gè)實(shí)例,設(shè)置此對(duì)象的ConnectionString屬性,然后調(diào)用其Open方法即可。每個(gè).NET數(shù)據(jù)提供程序都有自己的命名空間。.NET Framework中所包括的4個(gè)提供程序是System.Data命名空間的一個(gè)子集,非連接對(duì)象就位于System .Data命名空間之中。
SQL Client數(shù)據(jù)提供程序位于System.Data.SqlClient命名空間中,ADO.NET程序據(jù)提供程序位于System.Data.Odbc命名空間中;OLE DB .NET數(shù)據(jù)提供程序位于System.Data.OleDb命名空間中;Oracle Client .NET數(shù)據(jù)提供程序則位于ADO.NET程序命名空間中。