第14章数据库应用程序设计_第1页
第14章数据库应用程序设计_第2页
第14章数据库应用程序设计_第3页
第14章数据库应用程序设计_第4页
第14章数据库应用程序设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、2021年7月28日 第16章 Web服务创建和使用服务创建和使用 主讲教师: 杨建军 教学目标 本章介绍了如何使用C#访问关系数据库。 讨论ADO.NET的结构以及如何使应 ADO.NET访问关系数据库,通过本章的学 习,读者应掌握C#的数据库编程,能够编 写C#程序访问各种常见的数据库类型 。绝 大多数软件系统都需要有数据库的支持, 因此数据库编程也是每一个开发者应该掌 握的。 教学重点 lADO.NET概述 l.NET数据提供者 lDataSet数据集 l使用数据库 l数据绑定 14.1 ADO.NET概述概述 ADO.NET是美国微软公司最新推出.NET平台中的一种数 据访问技术,是专

2、门为.NET Framework而设计的,是 ADO的升级版本;ADO.NET集成了到.NET Framework中, 可用于任何.NET语言,尤其是C#;ADO.NET包括所有的 System.Data命名空间及其嵌套的命名空间 。ADO.NET 将成为构建.NET数据库应用程序的基础。 ADO.NET类库中提供了用于数据连接、处理数据操作的类。 System.Data名称空间可以通过数据提供者(provider)与数 据库通信,ADO.NET对象允许通过组件连接到数据库, 在数据库中进行检索、编辑、删除和插入数据,并在程序 中处理数据。ADO.NET支持已连接环境和非连接环境的 数据访问。

3、 14.1.1 ADO.NET架构 ADO.NET架构的两个主要组件 lData Provider(数据提供者) lDataSet(数据集) 14.1.2 .NET Framework数据提供数据提供 程序程序 1.NET Framework有四种数据提供程序有四种数据提供程序 l.NET Framework有以下四种数据提供程序: lSQL Server .NET Framework数据提供程序。 lOLE DB .NET Framework数据提供程序。 lODBC .NET Framework数据提供程序。 lOracle .NET Framework数据提供程序。 14.1.2 .NE

4、T Framework数据提供数据提供 程序程序 2. .NET Data Provider核心类核心类 .NET Framework数据提供程序包括四个核心类,用于实现对数据库的数据处理。 (1) Connection对象 数据库应用程序和数据库进行交互要在建立数据库连接的基础上进行。Connection 对象成为连接对象,提供了对数据存储中正在运行的事务(Transaction)的 访问技术。 (2) Command对象 Command对象用于执行数据库的命令操作,命令操作包括检索(Select)、插入 (Insert)、删除(Delete)以及更新(Update)操作。 (3) Data

5、Adapter对象 DataAdapter(数据适配器)对象在DataSet对象和数据源之间架起了一座“桥梁”。 DataAdapter可以用数据源填充DataSet并解析更新。 (4) DataReader对象 数据流提供了高性能的、前向的数据存取机制。通过DataReader可以轻松而高效地 访问数据流。DataReader对象用于从数据库中读取由SELECT命令返回的只 读的数据流,在这个过程中一直保持与数据库的连接。 14.1.3 DataSet数据集数据集 ADO.NET的一个比较突出的特点 是支持离线访问,即在非连接环境 下对数据进行处理,DataSet是支 持离线访问的关键对象,

6、它将数据 存储在缓存中。DataSet对象不关 心数据源的类型,它将信息以表的 形式存放。DataSet对象是非连接 存储和处理关系的基础。 14.1.4 ADO.NET的设计目标 简单地访问关系数据 l 可扩展性 ADO.NET具有良好的可扩展性 它为.NET数据提 供者插件提供了框架,这些提供者可用于从任何数据 源读写数据 l 支持多层应用程序 ADO.NET使用开放的XML标准格式在层之间通信,允 许数据通过Internet防火墙来传递,并允许以非 Microsoft技术实现一层或多层 l 统一XML和关系数据访问 XML文档具有分层的数据结构。.NET技术是以XML为 基础构建的,AD

7、O.NET可以扩展.NET的用法,沟通行、 列和XML文档中的关系数据 14.2 ADO.NET对象 ADO.NET类之间的关系 提供者对象 提供者对象就是指在每一个.NET数据提供 者中定义的对象,其名称前带有特定提供 者的名称 l连接对象 l命令对象 lCommandBuilder对象 lDataReader对象 lDataAdapter对象 14.2.1 Connection对象对象 在C#.NET中,通过Connection对象实现数 据连接,并且在使用过程中,根据不同的 数据库的类型使用不同的Connection控件。 在ADO.NET Connection 类中有两个子类, 一个是

8、SqlConnection;另一个是 OleDbConnection。 14.2.1 Connection对象对象 在C#.NET中,通过Connection对象实现数 据连接,并且在使用过程中,根据不同的 数据库的类型使用不同的Connection控件。 在ADO.NET Connection 类中有两个子类, 一个是SqlConnection;另一个是 OleDbConnection。 14.2.1 Connection对象对象 1.Connection对象常用属性有: lConnectionString属性:用来指定要连接的数据源。在 ConnectionString属性中,需要使用很多

9、参数。如:Data Source用来指明数据源;Initial Catalog用来指明数据库; Integrated Security用来指明集成安全等。 lConnectionTimeout属性:获取在尝试建立连接时终止尝 试并生成错误之前所等待的时间。返回结果:等待连接打 开的时间(以秒为单位)。默认值为 15 秒。 lDatabase属性:获取当前数据库或连接打开后要使用的 数据库的名称。返回结果:当前数据库的名称或连接打开 后要使用的数据库的名称。默认值为空字符串。 lDataSource属性:获取要连接的数据源实例的名称。 14.2.1 Connection对象对象 2. Conne

10、ction对象常用方法对象常用方法 lConnection对象最常用的方法有Open和 Close方法。 lOpen()方法:该方法用于打开由 ConnectionString属性指定的数据源连接。 lClose方法():该方法用于断开由 ConnectionString属性指定的数据源连接。 14.2.1 Connection对象对象 3. Connection对象的创建对象的创建 创建一个SqlConnection对象的方法如下: String connectionString=DataSource=yangjianjunSQL Express;Provade=SQLOLEDB.1;Ini

11、tial Catalog=Northwind;Integrated Security=True; SqlConnection con = new SqlConnection(); con.ConnectionString = connectionString; OleDbConnection对象的创建方法和SqlConnection 对象的创建方法类似。例如: OleDbConnection con = new OleDbConnection (); 14.2.2 Command对象对象 通过编程的方法创建一个Command对象: SqlCommand command = new SqlCom

12、mand ();或 OleDbCommand command = new OleDbCommand(); 14.2.3 DataAdapter对象对象 DataAdapter对象是ADO.NET新增加。在 ADO.NET DataAdapter类中有两个子类, 一个是SqlDataAdapter类;另一个是 OleDbDataAdapter类。 DataAdapter对象包含有SelectCommand、 InsertCommand、UpdateCommand和 DelectCommand四个属性,用来定义处理 数据存储中数据的命令,并且每个命令都 是对Command对象的一个引用,可以共享

13、同一个数据源。 14.2.3 DataAdapter对象对象 通过编程的方法创建一个DataAdapter对象: SqlDataAdapter dataAdapter = new SqlDataAdapter ();或 OleDbDataAdapter dataAdapter = new OleDbDataAdapter ();。 14.2.4 DataReader对象对象 DataReader对象用于对数据库的操作。在 ADO.NET DataReader类中有两个子类, 一个是SqlDataReader类;另一个是 OleDbDataReader类。 通过编程的方法创建一个DataRead

14、er对象: SqlDataReader reader = command.ExecuteReader();或 OleDbDataReader reader = command.ExecuteReader(); 14.2.4 数据集对象 数据集对象位于System.Data命名空间中,用于 定义ADO.NET的断开的、客户端的对象,包括 DataSet、DataTable、DataRow、DataColumn 和DataRelation等 lDataSet是数据集对象中的首要对象,此对象表示一组 相关表 lDataTable对象代表DataSet中的一个表 lDataTable对象的Rows和C

15、olumns分别是DataRow和 DataColumn对象,可用于访问DataTable表中的行和 列 lDataRelation对象代表通过共享列而发生关系的两个表 之间的关系 14.2.4 数据集对象 DataSet对象的创建可以通过工具栏中 的控件实现;通过菜单“数据”|“生成 数据集”来实现;或者选择 DataAdapter对象,单击右上角的黑三 角(智能标记),在下拉表中选择 “生成数据集”,这时,会弹出“生 成数据集”对话框。如图14-15所示。 14.2.4 数据集对象 填充填充DataSet对象:对象: DataSet对象是一个必须填充的容器, 填充方法有多种:调用DataA

16、dapter的 Fill方法、手工填充、复制或合并其它 DataSet的数据。我们这里介绍使用 DataAdapter的Fill方法填充DataSet对 象。 14.3 使用数据库 在C#代码中使用ADO.NET的第一步就是引用System.Data命 名空间,该命名空间中含有所有的ADO.NET类。接着,需要 根据数据源的类型不同,而引用相应的数据提供者。 l SQL Server .NET数据提供者:SQL Server数据库,使用using指令引用 System.Data.SqlClient。 l Oracle .NET 数据提供者:Oracle数据库,内置Oracle .NET驱动程序

17、 是最佳选择,System.Data.OracleClient;另外,Oracle本身也提供了 一个.NET 数据提供者,Oracle.DataAccess.Client l OLE DB .NET提供者: Microsoft Access,System.Data.OleDb l ODBC .NET数据提供者:如果数据源没有内置的或OLE DB提供者, 则可以使用ODBC.NET数据提供者System.Data.Odbc l 其他内置的.NET 数据提供者:如果数据库有专用的内置.NET 数据提 供者,就可以使用它 14.3.1创建数据库创建数据库 创建数据库可以使用Sqlcmd命令来完成。

18、SDK 示例所使用的 SQL Server Express 实例的名称是“SQLExpress”。要访问该 数据库,请使用服务器名称: (local)SQLExpress。 sqlcmd -S (local)SQLExpress -E -d 为了知道自己计算机名称(local),可以 在运行sqlcmd命令之前先在命令提示窗 口中运行一下hostname命令。 14.3.2 DataGridView控件控件 DataGridView控件使程序员可在自定义的网格中显 示数据。 DataGridView控件主要属性控件主要属性 lReadOnly:该值指示用户是否可以编辑 System.Windo

19、ws.Forms.DataGridView 控件的单元 格。 lDataSource:获取或设置 System.Windows.Forms.DataGridView 所显示数据 的数据源。 lDataMember:获取或设置数据源中 System.Windows.Forms.DataGridView 显示其数据 的列表或表的名称。 lCurrentRow:获取包含当前单元格的行。 14.3.2 DataGridView控件控件 BindingSource类是和类是和DataGridView控件经常配合控件经常配合 使用的一个类。使用的一个类。BindingSource类的主要属性如下:类的主要

20、属性如下: lpublic object DataSource get; set; :获取或设:获取或设 置连接器绑定到的数据源。返回结果:作为数据源置连接器绑定到的数据源。返回结果:作为数据源 的的 System.Object。默认为。默认为null。 lpublic string DataMember get; set; : 获取或获取或 设置连接器当前绑定到的数据源中的特定列表。返设置连接器当前绑定到的数据源中的特定列表。返 回结果:回结果: System.Windows.Forms.BindingSource.DataSo urce 中的列表(或行)的名称。默认值为空字符串。中的列表(

21、或行)的名称。默认值为空字符串。 14.3.3使用数据窗体向导使用数据窗体向导 完成数据库访问完成数据库访问 使用数据窗体向导创建简单数据库应用程序使用数据窗体向导创建简单数据库应用程序 是快捷简便的途径,用户仅需要按向导提示是快捷简便的途径,用户仅需要按向导提示 回答若干问题,即可生成一个具有基本数据回答若干问题,即可生成一个具有基本数据 库管理功能的应用程序。以创建一个处理数库管理功能的应用程序。以创建一个处理数 据库据库Noethwind.dbo的数据库应用程序了解的数据库应用程序了解 数据库窗体向导的创建。数据库窗体向导的创建。 l创建数据源创建数据源 l预览数据预览数据 l在应用程序

22、中显示数据在应用程序中显示数据 14.3.4 使用DataReader 完成数据库访问完成数据库访问 使用DataReader读取数据的过程如下: (1)连接数据源; (2)打开连接; (3)执行SQL查询命令。 (4)使用DataReader读取并显示数据。 (5)关闭DataReader和连接。 14.4数据绑定数据绑定 数据绑定就是将一个控件的属性与一个数据源连 接起来。大多数Windows窗体控件的属性都可以 连接或绑定到一个数据源。一经绑定,数据源中 值就会改变绑定的控件的属性,反之亦然。 Windows窗体控件支持两种类型的数据绑定:简 单绑定和复杂绑定。简单数据绑定允许你将将一

23、个控件或窗体的属性绑定到数据源中的单个值。 而复杂数据绑定专门用于将一个控件连接到一系 列的值。简单数据绑定适合只显示一个值的控件, 如Label 、Text等之类的控件。复杂数据绑定适合 能显示多个值的控件,如:ListBox、 CheckedListBox、ComboBox、和 DataGridView 等。 14.4数据绑定数据绑定 在常用控件中,往往要使用数据绑定实现 数据库应用程序的开发。实现数据绑定的 一般步骤如下: l 无论是简单数据绑定,还是复杂数据绑 定,要实现数据绑定的第一步就是就是要 连接数据库,得到可以操作的DataSet。 l 根据不同组件,采用不同的数据绑定。 使用

24、数据集对象 DataSet是ADO.NET中的核心对象,所有复杂的 操作都是使用它来完成的。DataSet包含一组 DataTable对象,表示所操作的数据库表。每个 DataTable对象又都有一些子对象:DataRow和 DataColumn,表示数据库表中的行和列。通过这 些对象可以获取表、行和列中的所有元素。 l为应用程序添加数据源 l添加绑定控件 l将控件与数据源绑定的方法就是通过“属性”窗 口,修改控件的“Data Source”属性 14.5 修改数据库 修改数据库可以使用DataSet来完成,也可 以使用编程的方法去完成。 14.5 修改数据库 1使用使用DataSet修改数据库修改数据库 对数据库的修改操作可以用相同的模式完 成: (1)用数据库中要使用的数据填充数据集 DataSet。 (2)修改存储在DataSet中的数据,例如,更新、 插入和删除记录。 (3)完成了所有的修改操作后,把DataSet中所 作的修改更新到数据库中。 14.5 修改数据库 2结构化查询语言结构化查询语言 SQL(Structured Query Language,结构化查询语言)是操作 所有关系型数据库的标准语言。其常用主要命令如下。 读取表格内容: SELECT * FR

温馨提示

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

评论

0/150

提交评论