数据访问是任何应用程序的基础。在本文中,我将说明如何用C#和ADO.NET访问基于SQL Server的数据,以及如何在一个数据绑定的网格控件中显示数据。我用一个简单的C#应用程序为例。
ADO.NET结构
使用ADO.NET不需要维持一个连接。另外,在ADO.NET中,只需用几行代码,你就可以从一个数据源转到另一个数据源。
ADO.NET的核心对象有Command, Connection, DataReader和DataAdapter。它们是.NET中所有数据操作的基础。
核心ADO.NET命名空间
- System.Data:是其它命名空间的基础,并补充DataTable, DataColumn, DataView和Constraints对象。
- System.Data.Common:定义由各种数据提供者共享的普通对象,包括DataAdapter, DataColumnMapping和DataTableMapping。它为数据提供者所用,包含用于访问数据源的集合。
- System.Data.OleDb:定义你用来连接到数据源并修改各种数据源中的数据的对象。它作为普通数据提供者而编写,由包含SQL Server、微软Oracle OLE DB Provider和微软Jet 4.0 Provider驱动器的.NET Framework提供执行。当你需要连接到许多不同的数据源时,就会用到这个命名空间,并且你希望达到比提供者更佳的性能。
- System.Data.SqlClient:直接利用SQL Server应用程序接口,提供比更为普通的System.Data.OleDb更佳的性能。这是一个专门为SQL Server 7.0及以上版本建立的提供者命名空间。
- System.Data.SqlTypes:专门为SQL Server的数据类型提供类。这个命名空间专为SQL Server而设计,并提供比其它命名空间更佳的性能,但只应用于SQL Server后端。
- System.Data.Odbc:处理所有兼容ODBC驱动器。只有.NET Framework 1.1支持这个命名空间,所以安装新版Framework就能获得它。
数据网格实例
给表格dataGrid1增加一个数据网格,如图1所示。为了让列表A中的样本代码能够运行,需要利用下面的命名空间:
using System.Data;
using System.Data.OleDb;