数据库编程之ADO.NET基础
一、ADO.NET概述
1、ADO.NET概述
ADO.NET的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在.NET编程环境中优先使用的数据访问接口。
ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的ADO.NET类库来进行连接。
目前常见的连接数据库的接口有:ADO、ADO.NET、JDBC、ODBC、OLEDB。
2、ADO.NET架构图
二、使用ADO.NET
1、.NET框架中包含的数据提供程序
SQL Server的数据提供程序 提供对SQL Server7.0或更高版本中数据的访问。使用命名空间System.Data.SqlClient
OLE DB的数据提供程序 提供对使用OLE DB公开的数据源中数据的访问(如Access)。使用命名空间System.Data.OleDb
ODBC的数据提供程序 提供对使用ODBC公开的数据源中数据的访问。使用命名空间System.Data.Odbc
Oracle的数据提供程序 适用于Oracle数据源。要求Oracle版本为8.0以上。使用命名空间System.Data.OracleClient
2、.NET框架中提供的四个核心对象
Connection
建立与特定数据源的连接。所有Connection对象的基类均为DbConnection类。
Command
代表在数据源上执行一条SQL命令或一个存储过程。对于一个Connection对象,可以独立创建和执行不同的Command对象。所有Command对象的基类均为DbCommand类。
DataReader
一种快速、低开销对象。从数据源中读取只进且只读的数据流,它无法更新数据库,且它只能通过Command对象的ExecuteReader方法创建。所有DataReader对象的基类均为DbDataReader类。
DataAdapter (数据适配器)
功能最复杂,是数据源和数据集(DataSet)对象的桥梁,利用Command对象处理后端数据集和数据源的通信。通常用数据源填充DataSet,并解析更新。所有DataAdapter对象的基类均为DataAdapter类。
3、SQL Server开发
3-1、SQLConnection属性和方法
ConnectionString 获取或者设置打开SQL Server的连接字符串
ConnectionTimeOut 获取尝试建立连接的等待时间
Database 获取目前连接的数据库名称
DataSource 获取SQL Server实例的名称
ServerVersion 获取SQL Server实例的版本
State 获取目前SqlConnection的连接状态
Open 打开SQL Server数据库连接
Close 关闭SQL Server数据库连接
3-2、SQLCommand属性和方法
CommandText 获取或设置要对数据源执行的SQL语句或存储过程
Connection 获取或设置SQLCommand实例使用的SQLConnection
Parameters 获取SqlParameterCollection
Cancel 尝试取消SQLCommand的执行
ExecuteNoQuery 完成SQL语句的异步执行
ExecuteReader 完成SQL语句的异步执行,返回请求的SqlDataReader
ExecuteScalar 执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行
CreateParameter 创建SqlParameter对象的新实例
3-3、DataSet和SqlDataAdapter
DataSet(在System.Data命名空间下)是ADO.NET的核心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不在依赖于数据库链路。
DataSet对象的三大特性:
(1) 独立性。DataSet独立于各种数据源。 (2) 离线(断开)和连接。
(3) DataSet对象是一个可以用XML形式表示的数据视图,是一种数据关系视图。 在实际应用中,DataSet使用方法一般有三种:
(1) 把数据库中的数据通过DataAdapter对象填充DataSet。
在实际应用中,DataSet使用方法一般有三种:
(1) 把数据库中的数据通过DataAdapter对象填充DataSet。
(2) 通过DataAdapter对象操作DataSet实现更新数据库。
(3) 把XML数据流或文本加载到DataSet。
3-4、存储过程
3.4.1、存储过程的概念
存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。
3.4.2、存储过程的好处
1)存储过程允许标准组件式编程
2)存储过程能实现较快的执行
3)存储过程能减少网络流量
4)存储过程可以被作为一种安全机制来充分使用
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。