C#程序设计课件第13章_第1页
C#程序设计课件第13章_第2页
C#程序设计课件第13章_第3页
C#程序设计课件第13章_第4页
C#程序设计课件第13章_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1,第13章 ADO.NET,在基于.NET Framework开发的应用程序中,如果要访问数据库,使用ADO.NET是目前的最佳选择。ADO.NET是与C#和.NET Framework一起使用的类集的名称,用于以关系型的、面向表的格式访问数据,例如,可以访问Microsoft SQL Server数据库、Oracle数据库等关系型数据库,但也可访问非关系数据源。ADO.NET被集成到.NET Framework,它可用于任何.NET语言。使用ADO.NET可以更容易地实现对关系和非关系数据的访问,并且ADO.NET统一了XML和关系数据访问,支持Internet上的多层应用程序,与上一代技术相比,ADO.NET可以扩充以支持更多的数据源。 本章将会介绍ADO.NET的工作原理,并介绍如何使用ADO.NET中的基本类建立应用程序与数据库的连接、如何检索并显示数据库中的数据、以及如何更新数据库中的数据(包括添加、修改和删除数据),另外,还将介绍参数化查询技术,2,本章学习要点,了解ADO.NET的工作原理 以多种方式创建数据库连接 使用OleDbDataAdapter类 理解并学会使用DataSet 定位和查询数据库中的数据 参数化查询技术 对输入数据进行检查 更新数据库中的数据,3,13.1 解决方案,本章完整的解决方案包含一个主窗体,主窗体的作用是允许用户在表中定位和查看记录,并且能够添加、修改和删除记录。 当加载该解决方案的窗体时,将会执行一系列语句建立程序和数据库“企业人事管理.mdb”的连接。运行后,第一个记录将会显示在窗体上,13.2 数据库基础,数据库是指以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。例如,把一个企业所有员工的基本信息、档案信息、考勤信息、工资信息等数据有序地组织起来,存储在计算机磁盘上,就构成了一个数据库。 数据库系统是指在计算机系统中引入数据库以后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户组成。数据库管理系统是位于用户和操作系统之间的一个数据管理软件,用户及其应用程序正是通过数据库管理系统建立、操作和管理数据库的。Microsoft Access、Microsoft SQL Server、IBM的DB2、以及Oracle公司的Oracle等都是常见的数据库管理系统产品。,4,13.3 创建数据库连接,要使用ADO.NET检索和操作数据库中的数据,必须首先创建应用程序和数据库的连接。在建立连接后,就可以通过连接向数据库发送操作命令。操作命令由一个被称为提供器的软件组件进行处理。提供器根据接收到的命令,对数据库进行检索或更新操作,如果执行的操作有返回结果,提供器再把结果返回给数据库应用程序。,5,13.3.1 创建连接的类,ADO.NET提供了几个专门用于创建数据库连接的类,包括OleDbConnection类、SqlConnection类以及OdbcConnection类等。其中,OleDbConnection类可以用于创建应用程序与多种类型数据库的连接,例如与Microsoft Access、Microsoft SQL Server、Oracle等数据库的连接; SqlConnection类可以创建只处理Microsoft SQL Server数据库,但性能优良的连接;OdbcConnection类用于创建到ODBC数据源的连接。下面只对前两者进行介绍。 1OleDbConnection类 2SqlConnection类,6,13.3.2 以多种方式创建连接,本节将演示怎样通过数据窗体向导和如何以编程方式创建数据库连接,在本书的下一章中将会介绍如何使用工具箱中的控件创建数据库连接。 1通过数据窗体向导创建数据库连接 2以编程方式创建数据库连接,7,13.4 使用数据适配器,创建数据库连接之后,接下来要做的就是通过连接发送操作命令来检索数据库。通过连接检索数据可以采用以下两种方式之一: 使用DataReader类 使用OleDbDataAdapter类,8,13.4.1 OleDbDataAdapter类及其作用,本节首先介绍OleDbDataAdapter类在数据库访问中的作用,然后介绍该类的常用成员。 OleDbDataAdapter包含下列常用成员 SelectCommand属性 InsertCommand属性 UpdateCommand属性 DeleteCommand属性 ableMappings属性 Fill方法 RowUpdating事件 RowUpdated事件,9,13.4.2 OleDbCommand,在使用OleDbDataAdapter访问和操作数据库时,需要用到该类的SelectCommand、InsertCommand、UpdateCommand和DeleteCommand属性,它们都属于OleDbCommand类型。 OleDbCommand类包含了下列成员: 1公共属性 2公共方法,10,13.4.4 表映射,在生成DataSet时,OleDbDataAdapter会把DataSet中的第一个表默认命名为Table,第二个表命名为Table1,依次类推。但是,我们可用一个更加直观的名称来命名表。为此可使用DataTableMapping类,它包含如下的属性: ColumnMappings属性 DataSetTable属性 SourceTable属性,11,13.5 DataSet,DataSet类是ADO.NET的主要成员之一,它是从数据库中检索到的数据在内存中的缓存,代表了一个或多个数据库表中数据的非连接视图。DataSet具有的功能有: 可以根据一个或者多个列的内容对DataSet中的数据进行排序。 可以对DataSet中的行进行搜索,并能根据指定的标准搜索特定的行。 DataSet可以保存和管理具有层次结构的数据。例如,可以通过配置DataSet来执行具有一对多关系的多个表上的操作。,12,13.6 更新DataTable,更新DataSet或组成DataSet的DataTable中的数据之后,更新并不会自动保存到数据库中,还需要执行相应的方法将更新保存到数据库中。本节首先介绍如何向DataTable添加记录以及如何修改和删除DataTable中的记录,本章的最后一节将介绍如何把更新保存到数据库中,13,13.7 参数化查询,在本章前面已经介绍了如何使用SQL SELECT语句从数据库表返回所有记录。但是,如果只想检索某个记录或者某些符合条件的记录,并且希望能够根据用户的输入检索这些记录,这时就需要动态创建一个SQL语句从DataTable中选中特定的记录。 要动态选择记录,需要创建参数化查询语句。参数化查询(parameterized query)从概念上讲类似于接受一个或者多个参数的函数或者子过程,就像给函数的参数传递不同的值一样,也可以为SQL语句的参数提供不同的值。 要创建参数化查询,首先要创建一个SQL SELECT语句,但是WHERE子句的具体内容是在运行时动态创建的。,14,13.8 将更新保存到数据库,在本章的解决方案中,已经修改了包含在DataSet中的DataTable。但是,由于DataSet及其中的DataTable处于非连接模式,因此必须使用OleDbDataAdapter显式地把更新保存到数据库中。 将更新保存到数据库中需要使用如下所示的OleDbDataAdapter的成员: OleDbDataAdapter的Update方法为DataSet中每个已插入、已更新或已删除的行调用相应的INSERT、UPDATE或D

温馨提示

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

评论

0/150

提交评论