分享

.NET开发实战之ADO.NET中的类

 秋水风帆 2010-12-30

14.2.2  ADO.NET中的类

ADO.NET中的类很多,从一次数据库访问过程看,一般需要4个或5个类,它们的顺序如图14-4所示。

 
图14-4  数据库访问中类的顺序

在使用这些类时,除了基础类DataSet外,其他类的数据提供程序要一致,如SQLConnection、SQLCommand、SQLDataReader是一致的,OLEDbConnection、OLEDbCommand、OLEDbDataAdapter是一致的。

下面我们就以OLEDB数据提供程序为例来说明这些类。

1.基础类DataSet

这个类是数据在内存中驻留时的表示形式。无论什么数据源,它在内存中的数据表示是一致的,因此它可以连接任何数据源。DataSet数据集可以包含任意数量的数据表,以及所有表的约束、索引和关系。它没有与数据源联系的能力,因此在使用DataSet对象之前,必须要有一个可以建立初始化数据的对象,即DataAdapter对象。

该类的主要属性和方法如表14-1。

表14-1  DataSet类的主要属性和方法

   

   

   

属性

DataSetName

获取或设置当前DataSet的名称

Namespace

获取或设置DataSet的命名空间

Tables

获取包含在DataSet中的表的集合

Prefix

获取或设置一个XML前缀,该前缀是DataSet的命名空间的别名

方法

Clear

通过移除所有表中的所有行来清除数据

Clone

复制DataSet的结构,不复制任何数据

Copy

复制该DataSet的结构和数据

ReadXml

XML架构和数据读入DataSet

ReadXmlSchema

XML架构读入DataSet

WriteXml

DataSetXML数据,还可以选择写架构

WriteXmlSchema

XML架构形式的DataSet结构

2.OleDbDataAdapter

这个类可以建立并初始化数据集(即DataSet),与DataSet对象结合起来对数据源执行SQL命令,提供DataSet对象所需要的存取数据,可视为DataSet对象的操作核心,是DataSet对象与数据操作对象之间的沟通媒介。

该类的主要属性和方法如表14-2所示。

表14-2  OleDbDataAdapter类的主要属性和方法

   

   

   

属性

DeleteCommand

获取或设置SQL语句或存储过程,用于从数据集中删除记录

SelectCommand

获取或设置SQL语句或存储过程,用于选择数据源中的记录

UpdateCommand

获取或设置SQL语句或存储过程,用于更新数据源中的记录

InsertCommand

获取或设置SQL语句或存储过程,用于将新记录插入到数据源中

方法

Fill

DataSet中添加或刷新行,以便与ADO RecordsetRecord对象中的行相匹配

Update

DataSet中每个已插入、已更新或已删除的行调用相应的INSERTUPDATEDELETE语句

GetFillParameters

获取当执行SQL SELECT语句时由用户设置的参数

3.OleDbDataReader

提供一个单向向前移动且只读的记录集合,可以读取由Command对象执行命令所产生的数据,只能与Command对象一起使用。

该类的主要属性和方法如表14-3所示。

表14-3  OleDbDataReader类的主要属性和方法

   

   

   

属性

Depth

获取一个值,用于指示当前行的嵌套深度

FieldCount

获取当前行中的列数

HasRows

获取一个值,用于指示OleDbDataReader是否包含一行或多行

IsClosed

指示是否可关闭数据读取器

Item

获取以本机格式表示的列的值

RecordsAffected

通过执行SQL语句获取更改、插入或删除的行数

方法

GetBoolean

获取指定列的布尔值形式的值

GetChar

获取指定列的字符形式的值

GetDateTime

获取指定列的DateTime对象形式的值

GetDecimal

获取指定列的Decimal对象形式的值

GetDouble

获取指定列的双精度浮点数形式的值

GetFloat

获取指定列的单精度浮点数形式的值

GetGuid

获取指定列的值作为全局唯一标识符(GUID

GetInt16

获取指定列的16位有符号整数形式的值

GetInt32

获取指定列的32位有符号整数形式的值

GetString

获取指定列的字符串形式的值

IsDBNull

获取一个值,该值指示列中是否包含不存在的或已丢失的值

Read

使OleDbDataReader前进到下一条记录

4.OleDbCommand

这个类可以操作数据源文件,对数据源下达操作数据库的命令,即传送SQL命令,执行Action Query命令。

该类的主要属性和方法如表14-4所示。

表14-4  OleDbCommand类的主要属性和方法

   

   

   

属性

CommandText

获取或设置要对数据源执行的SQL语句或存储过程

CommandTimeout

获取或设置在终止对执行命令的尝试并生成错误之前的等待时间

Connection

获取或设置OleDbCommand的此实例使用的OleDbConnection

方法

ExecuteNonQuery

针对Connection执行SQL 语句并返回受影响的行数

ExecuteReader

CommandText发送到Connection并生成一个 OleDbDataReader

ExecuteScalar

执行查询,并返回查询所返回的结果集中第一行的第一列,忽略其他列或行

ResetCommandTimeout

CommandTimeout属性重置为默认值

5.OleDbConnection

该类主要负责与数据源的连接,建立程序与数据源之间的联系,这是数据库操作的第一步。

该类的主要属性和方法如表14-5所示。

表14-5  OleDbCommand类的主要属性和方法

   

   

   

属性

ConnectionString

获取或设置用于打开数据库的字符串

ConnectionTimeout

获取在尝试建立连接时终止尝试并生成错误之前所等待的时间

Database

获取当前数据库或连接打开后要使用的数据库的名称

DataSource

获取数据源的服务器名或文件名

Provider

获取在连接字符串的“Provider = ”子句中指定的OLE DB提供程序的名称

State

获取连接的当前状态

方法

Close

关闭到数据源的连接

Open

使用ConnectionString所指定的属性设置打开数据库连接

以上是以OLEDB数据提供程序为例来说明ADO.NET中的类,其他数据提供程序中的类属性与方法与此类似,这里就不再一一列举。在每一种数据提供程序的类中,除了DataSet类是公用类外,其他类均需要相应的命名空间支持,而且不可互相串用。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多