第1章 数据库应用系统开发概述.ppt_第1页
第1章 数据库应用系统开发概述.ppt_第2页
第1章 数据库应用系统开发概述.ppt_第3页
第1章 数据库应用系统开发概述.ppt_第4页
第1章 数据库应用系统开发概述.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章使用ADO NET管理数据 1 1ADO NET概述ADO NET是一种让程序员可以快速高效地利用VisualStudio开发出数据库应用程序的技术 作为 NETFramework中不可缺少的一部分 它提供了对关系数据 XML和应用程序数据的访问 ADO NET通过数据处理将数据访问分解为多个可以单独使用或一前一后使用的不连续组件 ADO NET包含用于连接到数据库 执行命令和检索结果的 NETFramework数据提供程序 这些结果可以被直接处理 也可以放在ADO NET对象中 以便以特别的方式向用户公开 1 1 1ADO NET的结构 ADO NET用于访问和操作数据的两个主要组件是 NETFramework数据提供程序和DataSet NETFramework数据提供程序它包括的各个对象 1 Connection对象2 Command对象3 DataReader对象4 DataAdapter对象2 DataSetDataSet是专门为独立于任何数据源的数据访问而设计的 它可以用于多种数据源 用于XML数据或用于管理应用程序本地的数据 DataSet包含一个或多个DataTable对象的集合 这些对象由数据行和数据列以及有关DataTable对象中数据的主键 外键 约束和关系信息组成 1 1 2ADO NET数据提供程序 NETFramework数据提供程序用于连接到数据库 执行命令和检索结果 NETFramework数据提供程序 4种1 SQLServer的 NET数据提供程序2 OLEDB的 NET数据提供程序3 ODBC NET数据提供程序4 OracleDB的 NET数据提供程序 1 21 使用Connection对象 Connection对象主要是开启程序和数据库之间的连结 没有利用连结对象将数据库打开 是无法从数据库中取得数据的 这个物件在ADO NET的最底层 我们可以自己产生这个对象 或是由其它的对象自动产生 常用Connection对象的方法有 Open 方法和Close 方法 分别用来打开和关闭连接 SqlConnection连接SQLServer数据库stringmyConn server localhost database db Demo Uid sa pwd 123456 SqlConnectionsqlConn newSqlConnection myConn 第二种连接方法 stringmyConn DataSource SQLEXPRESS AttachDbFilename 数据库文件路径 IntegratedSecurity True ConnectTimeout 30 UserInstance true 1 3使用Command对象 ADO NET的Command对象主要可以用来对数据库发出一些操作指令 例如可以对数据库下达查询 新增 修改 删除数据等指令 以及呼叫存在数据库中的预存程序等 这个对象是架构在Connection对象上 也就是Command对象是通过连结到数据源 Command对象常用方法 1 ExecuteScalar 查询返回的记录条数2 ExecuteNonQuery 返回受影响的行数3 ExecuteReader 读取数据流 1 3 1返回查询数据集ExecuteReader 方法将返回一个DataReader对象 DataReader对象是一个仅向前的只读数据流 主要用来执行基本SQL语句 要求SQL语句返回记录集 例题演示 操作演示 1 3 2进行条件查询1 3 3进行模糊查询1 3 4插入数据操作1 3 5更新数据操作1 3 6删除数据操作 1 4ADO NET事务处理 1 4 1认识事务处理事务处理是并发控制的基本单元 它反映现实世界中需要以一个完整的单位提交的工作 通过事务能够将相关的数据库操作绑定在一起 以便保持数据的一致性 事务处理允许把数据库操作归为一组 因此如果一个事务作为一个整体是成功的 则事务中的每个任务都必须成功 如果事务中有一部分失败 则整个事务失败 当事务失败时 系统返回到事务开始前的状态 这个取消所有变化的过程称为 回滚 1 4 2事务处理实例 在ADO NET中使用Connection对象的BeginTransaction 方法来声明事务开始 利用Transaction对象的Commit 方法来提交事务 利用Transaction对象的Rollback 方法来回滚事务 ADO NET中执行事务的过程 1 调用Connection对象的BeginTransaction 方法来标记事务开始 2 将Transaction对象分配给要执行的Command的Transaction属性 3 执行所需的数据库操作命令4 调用Transaction对象的Commit 方法来提交事务 如果提交失败 则利用Transaction对象的Rollback 方法来回滚事务 1 5使用DataReader对象 DataReader对象用于从数据中检索只读 只进的数据流 只要数据可用 DataReader就立即检索数据 而不是等待返回查询的全部结果 并且在默认情况下 该方法一次只在内存中存储一行 从而降低了系统开销 若要创建DataReader 必须调用Command对象的ExecuteReader 方法 如下 SqlCommandmyComm newSqlCommand sqlStr sqlConn SqlDataReaderreader myComm ExecuteReader 1 5 1DataReader对象 使用DataReader对象的Read 方法可以从查询中获取行 通过向DataReader传递列的名称或序号引用 可以访问返回行的每一列 1 GetName GetName 0 GetName 1 2 GetValue GetValue 0 GetValue 1 3 NextResult 4 Read 5 HasRows 使用DataReader对象时有几点要注意 DataReader对象只能配合Command对象使用 每次使用完DataReader对象后都应调用Close 方法 当DataReader打开时 该DataReader将以独占的方式使用Connection 在原始DataReader关闭之前 将无法对Connection执行任何命令 1 6使用DataAdapter对象 DataAdapter对象用于从数据源检索数据并填充DataSet中的表 DataAdapter还可以将对DataSet所做的修改解析回数据源 DataAdapter对象主要是在数据源以及DataSet之间执行数据传输的工作 它可以通过Command对象下达命令后 并将取得的数据放入DataSet对象中 这个对象是架构在Command对象上 并提供了许多配合DataSet使用的功能 DataAdapter使用Connection对象连接到数据库 并使用Command对象从数据源检索数据以及将更改解析回数据源 DataAdapter有4个重要属性SelectCommandInsertCommandUpdateCommandDeleteCommand这四个属性都是Command对象 SqlCommandsqlcomm newSqlCommand insertStr sqlConn SqlDataAdaptermydr newSqlDataAdapter mydr InsertCommand sqlcomm 有两种方式将SQL语句传递给DataAdapter对象1 通过DataAdapter对象的构造函数传递例如 SqlDataAdaptermyAdapter newSqlDataAdapter sqlStr sqlConn 2 通过DataAdapter对象的4个属性传递SQL语句SqlCommandsqlComm newSqlCommand sqlStr sqlConn SqlDataAdaptermyAdapter newSqlDataAdapter myAdapter SelectCommand sqlComm 1 7DataSet对象 DataSet这个对象可以视为一个暂存区 Cache 可以把从数据库中所查询到的数据保留起来 甚至可以将整个数据库显示出来 DataSet的能力不只是可以储存多个Table而已 还可以通过DataAdapter对象取得一些例如主键等的数据表结构 并可以记录数据表间的关联 DataSet对象可以说是ADO NET中重量级的对象 这个对象架构在DataAdapter对象上 本身不具备和数据源沟通的能力 也就是说我们是将DataAdapter对象当做DataSet对象以及数据源间传输数据的桥梁 DataSet是ADO NET的核心对象 所有复杂的操作都使用它 本地缓存数据集部分包括DataSet对象 DataSet对象在本地相当于一个小型数据库 因此DataSet对象由数据表及表关系组成 所以DataSet对象包含DataTable对象和DataRelation对象 而数据表又包含行和列以及约束等结构 所以DataTable对象包含DataRow DataColumn和Constraint对象 本地缓存数据集部分可以用来临时存储本地数据 这些数据可以是从数据库获取的 也可以是本地产生的 还可以是被修改的数据 在借助DataRelation和Constraint对象情况下 客户端可以像访问关系型数据那样访问本地缓存数据集 ADO NET中应用XML支持DataSet对象 这是由于XML主要关注的是关系和分层的结构化数据 DataSet的内容可以以XML文档的形式写出 也可以将XML文档的内容读入到DataSet中 我们来看看实现数据管理的几个重要对象间的关系 DataTableCollection Table1 Table2 DataTable包含 DataColumn DataRow 及ConstraintCollection表示的约束集合 DataRelationCollection对象中包含了DataTable中的行关系 关系由DataRelation来表示 它使一个DataTable中的行与另一个DataTable中的行相关联 通过关系可以从DataSet中的一个表导航至另一个表 DataRelation的基本元素可以是关系的名称 相关表的名称以及每个表中的相关列 关系可以通过一个表的多个列来生成 方法是将一组DataColumn对象指定为键列 将关系添加到DataRelationCollection中只后 可以选择添加UniqueKeyConstraint 主键 和ForeignKeyConstrain 外键 DataView用于创建存储在DataTable中的数据的不同视图 它可以使用不同的排序顺序公开表中的数据 并且可以对数据可以进行筛选 1 7 2向中添加 DataSet由表 关系和约束的集合组成 DataTable表示内存中关系数据的表 在ADO NET中 DataTable对象用于表示DataSet中的表 表的结构由列和约束表示 使用DataColumn对象以及UniqueConstraint和ForeignKeyConstraint对象定义表的架构 1 7 3使用DataView 通过使用DataView 可以使用不同的排序顺序来显示表中的数据 并且可以按行状态或基于筛选器表达式来筛选数据 DataView提供了三种构造方法 1 DataViewdv newDataView 2 DataViewdv newDataView Table 3 DataViewdv newDataView Table string string DataViewRowState 1 DataView的Sort属性用来设置一个或多个排序列的排序例如 dv Sort stu hightasc 2 DataView的RowFilter属性用来实现对记录的筛选 dv RowFi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论