已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章 ADO.NET数据访问模型,9.1 什么是ADO.NET,ADO.NET(ActiveX Data Objects)是.NET Framework中的一系列类库,它能够让开发人员更加方便的在应用程序中使用和操作数据。 在ADO.NET中,大量复杂的数据操作的代码被封装起来,所以当开发人员在ASP.NET应用程序开发中,只需要编写少量的代码即可处理大量的操作。,9.1.1 设计目标,ADO.NET 提供对 Microsoft SQL Server 等数据源以及通过 OLE DB 和 XML 公开的数据源的一致访问。应用程序可以使用ADO.NET来连接到这些数据源,并检索、操作和更新数据。 ADO.NET 有效地从数据操作中将数据访问分解为多个可以单独使用或一前一后使用的不连续组件。包含用于连接到数据库、执行命令和检索结果等操作的.NET数据提供程序。,9.1.2 数据访问模型,SqlConnection:该对象表示与数据库服务器进行连接。 SqlCommand:该对象表示要执行的SQL命令。 DataTable:该对象表示内存中数据的一个表。DataSet对象中可以包含多个DataTable对象。 DataSet:该对象表示数据集对象,以XML的形式存在于内存中。 SqlDataAdapter:该对象具有填充命令中的DataSet对象的能力。 SqlDataReader:该对象是大多数有效的情况下读取数据的好的方式。 SqlParameter;该对象代表了一个将被命令中标记所代替的值。,9.2 SqlConnection连接对象,SqlConnection对象表示与SQL Server数据源的一个唯一的会话。对于客户端/服务器数据库系统,它等效于到服务器的网络连接。SqlConnection与SqlDataAdapter和SqlCommand一起使用,可以在连接 Microsoft SQL Server 数据库时提高性能。 连接SQL Server数据库服务器有两种身份认证模式:Windows身份认证和SQL Server身份认证。 Windows身份验证就是使用当前访问操作系统的用户,直接登录SQL Server,如同用钥匙进入了房子大门就可以直接进入各个房间。 SQL Server身份验证就是单独设置访问SQL Server的权限,如同进入房子之后还需要房间的钥匙。,9.3 SqlCommand命令对象,ADO.NET中,SqlCommand对象可以使用数据库SQL命令直接与数据源进行通信。例如,当需要执行一条插入语句,或者删除数据库中的某条数据的时候,就需要使用到SqlCommand对象。 SqlCommand对象对数据执行具体操作常用的方法有: ExecuteScalar( ) ExecuteReader( ) ExecuteNonQuery( ),9.4 SqlDataReader数据读取对象,SqlDataReader对象是用来读取数据的方式,但是不能使用它来写入数据。SqlDataReader能够以只向前的顺序方式从SqlDataReader对象中进行读取。只要已经读取了某些数据,就必须保存它们,因为将不能够返回并再一次读取它。为了再次读取那行,应该创建一个新的SqlDataReader实例并且再次从数据流中读取它。 得到SqlDataReader对象与实例化其它ADO.NET对象稍微有些不同。必须用一个SqlCommand对象调用ExecuteReader( )方法,如下代码所示。,9.5 DataTable数据表对象,DataTable类是.NET Framework类库中System.Data命名空间的成员。可独立创建和使用DataTable,也可以作为 DataSet 的成员创建和使用。在DataSet对象中通过Tables属性访问DataSet中表的集合。,9.6 DataSet数据集对象,DataSet是ADO.NET框架的主要组件,是数据以XML的形式驻留于内存的表示形式,它把从数据源中检索到的数据存放在内存的缓存中。 DataSet由表、关系和约束的集合组成。数据可以来自本地基于.NET的应用程序,也可从数据源(例如,使用SqlDataAdapter的Microsoft SQL Server)中导入。,9.7 SqlDataAdapter数据适配器对象,SqlDataAdapter对象是用于填充DataSet和更新SQL Server数据库的一组数据命令和一个数据库连接。在创建了数据库连接后,就需要对数据集DataSet进行填充,在这里就需要使用SqlDataAdapter对象。 int Fill(DataSet dataSet, string tableName):使用SELECT语句从数据源中检索数据,将其填充到DataSet对象中,返回值为在DataSet中成功添加的行数。与SELECT命令关联的SqlConnection 对象必须有效,但不需要将其打开。如果调用Fill( )之前SqlConnection已关闭,则将自动打开连接以检索数据,然后自动再将其关闭。如果调用Fill( )之前连接已打开,它将保持打开状态。,9.8 SqlParameter参数对象,SqlParameter表示SqlCommand的参数,也可以是它到DataSet列的映射。 使用参数化查询分如下面三步: (1)使用Parameters构建SqlCommand命令字符串; (2)声明SqlParameter对象,将适当的值赋给它; (3)将SqlParameter对象赋值给SqlCommand对象的Parameters属性。,9.9 存储过程,存储过程是由一些SQL语句和控制语句组成的被封装起来的过程,它驻留在数据库中,可以被客户应用程序调用,也可以被另一个过程或触发器调用。它的参数可以被传递和返回。与应用程序中的函数过程类似,存储过程可以通过名字来调用,而且它们同样有输入参数和输出参数。,9.9.2 创建存储过程,存储过程声明语法如下所示: CREATE PROCEDURE procedure_name ;number parameter data_type VARYING=defaultOUTPUT ,.n WITH RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5G时代主题出版的融合发展策略探究
- 3~6岁幼儿合作学习教育思路研究
- 3D打印技术在水运工程中的探索
- 30年间昕水河流域土地利用变化分析
- 220 kV主变压器高压侧断路器失灵保护的问题分析
- 2021年中考“函数”专题解题分析
- 2019-2035年我国城乡小学教育资源需求分析
- 1949-1956年农村医疗卫生队伍的建设研究-以湖北省麻城县为中心的考察
- 110 kV高压电缆施工技术难点和解决措施研究
- 101重水研究堆含氚轻水脱氚方案研究
- 子宫肌瘤的教学查房
- 2022义务教育英语课程标准【2022年版】测试题4套(含答案)
- 转向系统零部件周边最小间隙标准
- 华为5G性能优化指导手册
- 《建筑设计资料集》(第二版)课件第1篇 概论
- 园林绿化工程施工合同 GF—2020—2605
- 锅炉专业“四管”防磨防爆和调试、安装质量控制交流工作材料
- 贵金属二次资源综合利用及贵金属材料加工项目可行性研究报告写作模板立项备案文件
- 中小学学校固定资产分类方案
- 石材养护知识培训讲座-环球
- 新课标中考英语1500词
评论
0/150
提交评论