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

下载本文档

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

文档简介

1、第1章 使用ADO.NET管理数据,1.1 ADO.NET概述 ADO.NET是一种让程序员可以快速高效地利用Visual Studio开发出数据库应用程序的技术.作为.NET Framework中不可缺少的一部分,它提供了对关系数据,XML和应用程序数据的访问. ADO.NET通过数据处理将数据访问分解为多个可以单独使用或一前一后使用的不连续组件. ADO.NET包含用于连接到数据库,执行命令和检索结果的.NET Framework数据提供程序.这些结果可以被直接处理,也可以放在ADO.NET 对象中,以便以特别的方式向用户公开.,1.1.1 ADO.NET的结构,ADO.NET用于访问和操

2、作数据的两个主要组件是: .NET Framework数据提供程序和DataSet.,.NET Framework数据提供程序 它包括的各个对象: 1).Connection对象 2).Command对象 3).DataReader对象 4).DataAdapter对象 2. DataSet DataSet是专门为独立于任何数据源的数据访问而设计的.它可 以用于多种数据源,用于XML数据或用于管理应用程序本地的数 据. DataSet包含一个或多个DataTable对象的集合,这些对象由 数据行和数据列以及有关DataTable对象中数据的主键,外键,约 束和关系信息组成.,1.1.2 ADO

3、.NET数据提供程序,.NET Framework数据提供程序用于连接到数据库,执行命令和检索结果. .NET Framework数据提供程序:4种 1)SQL Server的 .NET 数据提供程序 2)OLE DB 的.NET 数据提供程序 3)ODBC.NET 数据提供程序 4)Oracle DB 的.NET 数据提供程序,1.2 1.使用Connection对象,Connection 对象主要是开启程序和数据库之间的连 结。没有利用连结对象将数据库打开,是无法从数据库中 取得数据的。这个物件在ADO.NET的最底层,我们可以自 己产生这个对象,或是由其它的对象自动产生。 常用Conne

4、ction 对象的方法有: Open( ) 方法和Close()方 法,分别用来打开和关闭连接. SqlConnection连接SQL Server 数据库 string myConn = server=localhost;database=db_Demo;Uid=sa;pwd=123456; SqlConnection sqlConn= new SqlConnection(myConn);,第二种连接方法: string myConn = Data Source=.SQLEXPRESS; AttachDbFilename=“数据库文件路径”; Integrated Security=True

5、; Connect Timeout=30; User Instance=true;”,1.3 使用Command对象,ADO.NET的 Command对象主要可以用来对数据库发出一些操作指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等。这个对象是架构在Connection对象上,也就是Command对象是通过连结到数据源。 Command对象常用方法: 1) ExecuteScalar( ); 查询返回的记录条数 2) ExecuteNonQuery( );返回受影响的行数 3) ExecuteReader( ) 读取数据流,1.3.1 返回查询数据

6、集 ExecuteReader( )方法将返回一个DataReader对象. DataReader对象是一个仅向前的只读数据流.主要用来执行基本SQL语句,要求SQL语句返回记录集. 例题演示:,操作演示: 1.3.2 进行条件查询 1.3.3 进行模糊查询 1.3.4 插入数据操作 1.3.5 更新数据操作 1.3.6 删除数据操作,1.4 ADO.NET事务处理,1.4.1 认识事务处理 事务处理是并发控制的基本单元,它反映现实世界中需要以一个完整的单位提交的工作.通过事务能够将相关的数据库操作绑定在一起,以便保持数据的一致性. 事务处理允许把数据库操作归为一组,因此如果一个事务作为一个整

7、体是成功的,则事务中的每个任务都必须成功.如果事务中有一部分失败,则整个事务失败.当事务失败时,系统返回到事务开始前的状态,这个取消所有变化的过程称为”回滚”.,1.4.2 事务处理实例,在ADO.NET中使用Connection对象的BeginTransaction( )方法来声明事务开始,利用Transaction对象的Commit()方法来提交事务,利用Transaction对象的Rollback()方法来回滚事务. ADO.NET中执行事务的过程: 1.调用Connection对象的BeginTransaction( )方法来标记事务开始. 2.将Transaction对象分配给要执行

8、的Command的Transaction属性. 3.执行所需的数据库操作命令 4.调用Transaction对象的Commit()方法来提交事务,如果提交失败,则利用Transaction对象的Rollback()方法来回滚事务.,1.5 使用DataReader对象,DataReader对象用于从数据中检索只读,只进的数据流.只要数据可用, DataReader就立即检索数据,而不是等待返回查询的全部结果;并且在默认情况下,该方法 一次只在内存中存储一行,从而降低了系统开销. 若要创建DataReader,必须调用Command对象的ExecuteReader()方法.如下: SqlComm

9、and myComm= new SqlCommand(sqlStr,sqlConn); SqlDataReader reader = myComm.ExecuteReader();,1.5.1 DataReader对象,使用DataReader对象的Read()方法可以从查询中获取行.通过向DataReader 传递列的名称或序号引用,可以访问返回行的每一列. 1.GetName ( GetName(0), GetName(1).) 2. GetValue ( GetValue(0), GetValue(1 ).) 3.NextResult ( ) 4.Read( ) 5.HasRows,使用

10、DataReader对象时有几点要注意: DataReader对象只能配合Command对象使用. 每次使用完DataReader对象后都应调用Close( )方法. 当DataReader打开时,该DataReader将以独占的方式使用Connection.在原始DataReader关闭之前,将无法对Connection执行任何命令.,1.6 使用DataAdapter对象,DataAdapter对象用于从数据源检索数据并填充DataSet中的 表。 DataAdapter还可以将对DataSet所做的修改解析回数据源。 DataAdapter对象主要是在数据源以及DataSet之间执行数据

11、传输的工作,它可以通过Command对象下达命令后,并将取得的数据放入DataSet对象中。这个对象是架构在Command对象上,并提供了许多配合DataSet使用的功能。,DataAdapter使用Connection对象连接到数据库,并使用Command对象从数据源检索数据以及将更改解析回数据源。 DataAdapter有4个重要属性 SelectCommand InsertCommand UpdateCommand DeleteCommand 这四个属性都是Command对象。 SqlCommand sqlcomm = new SqlCommand(insertStr,sqlConn);

12、 SqlDataAdapter mydr = new SqlDataAdapter(); mydr.InsertCommand = sqlcomm;,有两种方式将SQL语句传递给DataAdapter对象 1)通过DataAdapter对象的构造函数传递 例如: SqlDataAdapter myAdapter =new SqlDataAdapter(sqlStr, sqlConn); 2)通过DataAdapter对象的4个属性传递SQL语句 SqlCommand sqlComm = new SqlCommand(sqlStr, sqlConn); SqlDataAdapter myAdap

13、ter = new SqlDataAdapter(); myAdapter.SelectCommand = sqlComm;,1.7 DataSet 对象,DataSet这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来,甚至可以将整个数据库显示出来。DataSet的能力不只是可以储存多个Table而已,还可以通过DataAdapter对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。DataSet对象可以说是ADO.NET中重量级的对象,这个对象架构在DataAdapter对象上,本身不具备和数据源沟通的能力;也就是说我们是将DataAdapter对

14、象当做DataSet 对象以及数据源间传输数据的桥梁。,DataSet是ADO.NET的核心对象,所有复杂的操作都使用它. 本地缓存数据集部分包括DataSet对象,DataSet对象在本地相当于一个小型数据库,因此DataSet对象由数据表及表关系组成,所以DataSet对象包含DataTable对象和DataRelation对象,而数据表又包含行和列以及约束等结构,所以DataTable对象包含DataRow、DataColumn和Constraint对象。,本地缓存数据集部分可以用来临时存储本地数据,这些数据可以是从数据库获取的,也可以是本地产生的,还可以是被修改的数据。在借助DataR

15、elation和Constraint对象情况下,客户端可以像访问关系型数据那样访问本地缓存数据集。 ADO.NET中应用XML支持DataSet对象,这是由于XML主要关注的是关系和分层的结构化数据。DataSet的内容可以以XML文档的形式写出,也可以将XML文档的内容读入到DataSet中。,我们来看看实现数据管理的几个重要对象间的关系:,DataTableCollection( Table1,Table2 ) DataTable 包含(DataColumn, DataRow )及ConstraintCollection表示的约束集合, DataRelationCollection对象中包

16、含了DataTable中的行关系.关系由DataRelation来表示,它使一个DataTable中的行与另一个DataTable中的行相关联.,通过关系可以从DataSet中的一个表导航至另一个表.DataRelation的基本元素可以是关系的名称,相关表的名称以及每个表中的相关列.关系可以通过一个表的多个列来生成,方法是将一组DataColumn对象指定为键列.将关系添加到DataRelationCollection中只后,可以选择添加UniqueKeyConstraint(主键)和ForeignKeyConstrain(外键). DataView用于创建存储在DataTable中的数据的

17、不同视图,它可以使用不同的排序顺序公开表中的数据,并且可以 对数据可以进行筛选.,1.7.2 向中添加,DataSet由表、关系和约束的集合组成,DataTable表示内存中关系数据的表。在ADO.NET中, DataTable对象用于表示DataSet中的表. 表的结构由列和约束表示.使用DataColumn对象以及UniqueConstraint和ForeignKeyConstraint对象定义表的架构.,1.7.3 使用DataView,通过使用DataView,可以使用不同的排序顺序来显示表中的数据,并且可以按行状态或基于筛选器表达式来筛选数据. DataView提供了三种构造方法: 1) DataView dv = new DataView(); 2) DataView dv = new DataView(Table); 3) DataView dv = new DataView(Table,string ,string,DataViewRowState);,1. DataView的Sort属性用来设置一个或多个排序列的排序 例如: dv.Sort = stu_hight asc; 2. DataView的RowFilter属性用来实现对记录的筛选. dv.Ro

温馨提示

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

评论

0/150

提交评论