概述:
本文在微软站点资源的基础上加工整理而成,意在引见在你的ADO.NET使用程序中执行和完成功用优化、稳定性和功用性方面提供最佳的处理方案;同时也包含在ADO.NET中运用已有的数据对象进行开发的最佳实践和协助你怎样设计ADO.NET使用程序提供建议。
本文包含以下内容:
1..NET框架中的data providers;
2.对照DataSet和DataReader,分别引见他们的最佳用途;
3.如何使用DataSet、Commands和Connections;
4.结合XML;
5.如果你是ADO程序员,也不妨看看ADO.NET与ADO的区别和联系;
6.结合一些FAQ,更深一步讨论ADO.NET观点和使用技巧。
引见:
A..NET框架中的data providers
Data providers在使用程序和数据库之间扮演一个桥梁的角色,它使得你可以从一个数据库前往查询结果、执行命令以及对数据集的更新等。
B.几种data provider的引见
下面表格中数据表明各种data provider以及最佳适用数据库对象
提供者
描述
SQL Server.NET Data Provider
在.NET框架中使用System.Data.SqlClient命名空间;
建议在两头层使用程序中使用SQL Server7.0或当前版本;
建议在独立的使用程序中使用MSDE或SQL Server7.0或更高版本;
SQL Server6.5或更早版本,必须使用OLE DB.NET Data Provider中的OLE DB Provider For SQL Server。
OLE DB.NET Data Provider
在.NET框架中使用System.Data.OleDb命名空间;
建议在两头层使用程序中使用SQL Server6.5或以前版本,或者任何在.NET框架SDK中指出的支持OLE DB接口清单的OLE DB Provider,OLE DB接口清单将在后面列出;
建议在独立的使用程序中使用Access,两头层使用程序不建议使用Access;
不再支持为ODBC的OLE DB Provider,要访问ODBC,使用ODBC.NET Data Provider。
ODBC.NET Data Provider
在.NET框架中使用System.Data.Odbc命名空间;
提供对使用ODBC驱动连接的数据库的访问;
.NET Data Provider For Oracle
在.NET框架中使用System.Data.OracleClient命名空间;
提供对Oracle数据库的访问。
Custom.NET Data Provider
提供一套接口,让你可以自定义一个Data Provider;
SQLXML Managed Classes
包含SQLXML Managed Classes的最新版SQLXML3.0,使得你可以访问SQL Server2000或当前版本的XML功用性扩展,比如执行XML模板文件、执行XPath查询和使用Updategrams或Diffgrams更新数据等;在SQLXML 3.0中存储过程和XML模板将会通过SOAP作为一种WEB服务。
表格中提到的OLE DB接口清单,在这里把它列出
OLE DB 对象
接口
OLE DB Services
IdataInitilize
DataSource
IDBInitialize
IDBCreateSession
IDBProperties
IPersist
IDBInfo*
Session
ISessionProperties
IOpenRowset
IDBSchemaRowset*
ITransactionLocal*
IDBCreateCommand*
Command
IcommandText
ICommandProperties
ICommandWithParameters*
IAccessor (only required if ICommandWithParameters is supported)
ICommandPrepare*
MultipleResults
ImultipleResults
RowSet
Irowset
IAccessor
IColumnsInfo
IColumnsRowset*
IRowsetInfo (only required if DBTYPE_HCHAPTER is supported)
Row
IRow*
Error
IerrorInfo
IErrorRecords
ISQLErrorInfo*
C.连接SQL Server7.0或更高版本
使用SQL Server.NET Data Provider连接SQL Server7.0或更高版本是最好的方式,在于它建立与SQL Server的直接连接而两头不需求任何的技术层衔接。如下图一展现了各种访问SQL Server7.0或更高版本的技术比较:
图一(连接访问SQL Server7.0或更高版本的各种技术比较)
以下例子演示怎样创建和打开一个到SQL Server7.0或更高版本数据库的连接:
‘Visual Basic
Dim nwindConn As SqlConnection = New SqlConnection("Data Source=localhost;Integrated Security=SSPI;" & _ "Initial Catalog=northwind")
nwindConn.Open()
‘C#
SqlConnection nwindConn = new SqlConnection("Data Source=localhost; Integrated Security=SSPI;" +
"Initial Catalog=northwind");
nwindConn.Open();
D.连接ODBC数据源
&nb