如何用C#和ADO.NET访问

开发 后端
这里介绍如何用C#和ADO.NET访问基于SQL Server的数据,以及如何在一个数据绑定的网格控件中显示数据。

数据访问是任何应用程序的基础。在本文中,我将说明如何用C#和ADO.NET访问基于SQL Server的数据,以及如何在一个数据绑定的网格控件中显示数据。我用一个简单的C#和ADO.NET访问为例。

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. using System.Data;  
  2. using System.Data.OleDb; 

接下来,我定义OleDBDataAdapter对象da并将它提交给查询语句(strSQL)和连接字符串(strConn)。注意,我在例子中没有建立一个连接(Connection)对象。

然后,我定义数据组ds,它被用来从网格控件中的用户表(Customers)中获得实际数据。我使数据网格控件dataGrid1的 DataMember特性指向到我获得数据的表格,并将控件DataSource的特性设定给DataSetds。(DataMember特性获得/设定 DataSource中的一个绑定控件的表格,DataSource特性获得/设定用来安装控件的数据源。)当你运行列表A中的代码时,结果如图2所示。

我显示C:DataAccessNorthwind.mdb数据库中的数据,只看到我在选择语句中选中的栏。如果选择的列数或栏数超过页面的大小,网格控件会自动显示滚动条。

现在你了解了用C#和ADO.NET访问,以及建立一个数据网格控件显示查询返回数据的基本原理了。

【编辑推荐】

  1. 浅谈C#开发WinForm
  2. C#静态构造函数简介
  3. C#实现ControlTemplate方法
  4. C#验证输入方法详解
  5. 浅析C#透明窗体
责任编辑:佚名 来源: 百度空间
相关推荐

2009-08-20 18:44:54

C#和ADO.NET

2009-08-21 16:35:08

使用C#结合ADO.N

2009-08-19 16:56:45

C#和ADO.NET

2009-11-11 11:00:38

ADO.NET结果集

2009-11-12 15:00:03

ADO.NET实体数据

2009-12-21 16:53:06

ADO.NET使用说明

2009-12-28 15:11:36

ADO.NET专家

2009-11-11 13:59:15

ADO.NET与ADO

2009-12-23 17:54:01

ADO.NET 2.0

2009-11-04 17:22:30

ADO.NET数据访问

2009-11-13 10:01:50

ADO.NET CAS

2009-12-28 14:54:48

ADO.NET语句

2012-05-10 11:25:34

LINQ

2009-12-29 13:57:30

访问ADO.NET

2009-12-31 09:54:04

ADO.NET数据访问

2009-12-22 16:23:26

ADO.NET访问

2009-11-13 09:24:17

2009-12-30 15:21:55

ADO.NET访问

2009-08-13 11:22:59

LINQ和ADO.NE

2009-11-03 16:37:10

点赞
收藏

51CTO技术栈公众号