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

下载本文档

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

文档简介

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

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

3、T架构的两个主要组件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 .NET Framework数据提供数据提供程序程序 2. .NET D

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

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

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

7、系 提供者对象 提供者对象就是指在每一个.NET数据提供者中定义的对象,其名称前带有特定提供者的名称 l连接对象 l命令对象 lCommandBuilder对象 lDataReader对象lDataAdapter对象 14.2.1 Connection对象对象 在C#.NET中,通过Connection对象实现数据连接,并且在使用过程中,根据不同的数据库的类型使用不同的Connection控件。在ADO.NET Connection 类中有两个子类,一个是SqlConnection;另一个是OleDbConnection。 14.2.1 Connection对象对象 在C#.NET中,通过Co

8、nnection对象实现数据连接,并且在使用过程中,根据不同的数据库的类型使用不同的Connection控件。在ADO.NET Connection 类中有两个子类,一个是SqlConnection;另一个是OleDbConnection。 14.2.1 Connection对象对象 1.Connection对象常用属性有:lConnectionString属性:用来指定要连接的数据源。在ConnectionString属性中,需要使用很多参数。如:Data Source用来指明数据源;Initial Catalog用来指明数据库;Integrated Security用来指明集成安全等。lC

9、onnectionTimeout属性:获取在尝试建立连接时终止尝试并生成错误之前所等待的时间。返回结果:等待连接打开的时间(以秒为单位)。默认值为 15 秒。lDatabase属性:获取当前数据库或连接打开后要使用的数据库的名称。返回结果:当前数据库的名称或连接打开后要使用的数据库的名称。默认值为空字符串。lDataSource属性:获取要连接的数据源实例的名称。 14.2.1 Connection对象对象 2. Connection对象常用方法对象常用方法lConnection对象最常用的方法有Open和Close方法。lOpen()方法:该方法用于打开由ConnectionString属性

10、指定的数据源连接。lClose方法():该方法用于断开由ConnectionString属性指定的数据源连接。 14.2.1 Connection对象对象 3. Connection对象的创建对象的创建 创建一个SqlConnection对象的方法如下:String connectionString=DataSource=yangjianjunSQLExpress;Provade=SQLOLEDB.1;Initial Catalog=Northwind;Integrated Security=True;SqlConnection con = new SqlConnection();con.Co

11、nnectionString = connectionString;OleDbConnection对象的创建方法和SqlConnection对象的创建方法类似。例如:OleDbConnection con = new OleDbConnection ();14.2.2 Command对象对象 通过编程的方法创建一个Command对象:SqlCommand command = new SqlCommand ();或OleDbCommand command = new OleDbCommand();14.2.3 DataAdapter对象对象 DataAdapter对象是ADO.NET新增加。在A

12、DO.NET DataAdapter类中有两个子类,一个是SqlDataAdapter类;另一个是OleDbDataAdapter类。 DataAdapter对象包含有SelectCommand、InsertCommand、UpdateCommand和DelectCommand四个属性,用来定义处理数据存储中数据的命令,并且每个命令都是对Command对象的一个引用,可以共享同一个数据源。 14.2.3 DataAdapter对象对象 通过编程的方法创建一个DataAdapter对象:SqlDataAdapter dataAdapter = new SqlDataAdapter ();或Ole

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

14、数据集对象位于System.Data命名空间中,用于定义ADO.NET的断开的、客户端的对象,包括DataSet、DataTable、DataRow、DataColumn和DataRelation等 lDataSet是数据集对象中的首要对象,此对象表示一组相关表 lDataTable对象代表DataSet中的一个表 lDataTable对象的Rows和Columns分别是DataRow和DataColumn对象,可用于访问DataTable表中的行和列 lDataRelation对象代表通过共享列而发生关系的两个表之间的关系 14.2.4 数据集对象 DataSet对象的创建可以通过工具栏中的

15、控件实现;通过菜单“数据”|“生成数据集”来实现;或者选择DataAdapter对象,单击右上角的黑三角(智能标记),在下拉表中选择“生成数据集”,这时,会弹出“生成数据集”对话框。如图14-15所示。 14.2.4 数据集对象 填充填充DataSet对象:对象: DataSet对象是一个必须填充的容器,填充方法有多种:调用DataAdapter的Fill方法、手工填充、复制或合并其它DataSet的数据。我们这里介绍使用DataAdapter的Fill方法填充DataSet对象。14.3 使用数据库 在C#代码中使用ADO.NET的第一步就是引用System.Data命名空间,该命名空间中含

16、有所有的ADO.NET类。接着,需要根据数据源的类型不同,而引用相应的数据提供者。l SQL Server .NET数据提供者:SQL Server数据库,使用using指令引用System.Data.SqlClient。l Oracle .NET 数据提供者:Oracle数据库,内置Oracle .NET驱动程序是最佳选择,System.Data.OracleClient;另外,Oracle本身也提供了一个.NET 数据提供者,Oracle.DataAccess.Clientl OLE DB .NET提供者: Microsoft Access,System.Data.OleDbl ODBC

17、.NET数据提供者:如果数据源没有内置的或OLE DB提供者,则可以使用ODBC.NET数据提供者System.Data.Odbcl 其他内置的.NET 数据提供者:如果数据库有专用的内置.NET 数据提供者,就可以使用它14.3.1创建数据库创建数据库 创建数据库可以使用Sqlcmd命令来完成。SDK 示例所使用的 SQL Server Express 实例的名称是“SQLExpress”。要访问该数据库,请使用服务器名称:(local)SQLExpress。 sqlcmd -S (local)SQLExpress -E -d 为了知道自己计算机名称(local),可以在运行sqlcmd命令

18、之前先在命令提示窗口中运行一下hostname命令。14.3.2 DataGridView控件控件 DataGridView控件使程序员可在自定义的网格中显示数据。 DataGridView控件主要属性控件主要属性lReadOnly:该值指示用户是否可以编辑 System.Windows.Forms.DataGridView 控件的单元格。lDataSource:获取或设置 System.Windows.Forms.DataGridView 所显示数据的数据源。lDataMember:获取或设置数据源中 System.Windows.Forms.DataGridView 显示其数据的列表或表的

19、名称。lCurrentRow:获取包含当前单元格的行。14.3.2 DataGridView控件控件 BindingSource类是和类是和DataGridView控件经常配合控件经常配合使用的一个类。使用的一个类。BindingSource类的主要属性如下:类的主要属性如下:lpublic object DataSource get; set; :获取或设:获取或设置连接器绑定到的数据源。返回结果:作为数据源置连接器绑定到的数据源。返回结果:作为数据源的的 System.Object。默认为。默认为null。lpublic string DataMember get; set; : 获取或获

20、取或设置连接器当前绑定到的数据源中的特定列表。返设置连接器当前绑定到的数据源中的特定列表。返回结果:回结果: System.Windows.Forms.BindingSource.DataSource 中的列表(或行)的名称。默认值为空字符串。中的列表(或行)的名称。默认值为空字符串。14.3.3使用数据窗体向导使用数据窗体向导完成数据库访问完成数据库访问 使用数据窗体向导创建简单数据库应用程序使用数据窗体向导创建简单数据库应用程序是快捷简便的途径,用户仅需要按向导提示是快捷简便的途径,用户仅需要按向导提示回答若干问题,即可生成一个具有基本数据回答若干问题,即可生成一个具有基本数据库管理功能的

21、应用程序。以创建一个处理数库管理功能的应用程序。以创建一个处理数据库据库Noethwind.dbo的数据库应用程序了解的数据库应用程序了解数据库窗体向导的创建。数据库窗体向导的创建。l创建数据源创建数据源 l预览数据预览数据 l在应用程序中显示数据在应用程序中显示数据 14.3.4 使用DataReader完成数据库访问完成数据库访问 使用DataReader读取数据的过程如下:(1)连接数据源;(2)打开连接;(3)执行SQL查询命令。(4)使用DataReader读取并显示数据。(5)关闭DataReader和连接。14.4数据绑定数据绑定 数据绑定就是将一个控件的属性与一个数据源连接起来

22、。大多数Windows窗体控件的属性都可以连接或绑定到一个数据源。一经绑定,数据源中值就会改变绑定的控件的属性,反之亦然。 Windows窗体控件支持两种类型的数据绑定:简单绑定和复杂绑定。简单数据绑定允许你将将一个控件或窗体的属性绑定到数据源中的单个值。而复杂数据绑定专门用于将一个控件连接到一系列的值。简单数据绑定适合只显示一个值的控件,如Label 、Text等之类的控件。复杂数据绑定适合能显示多个值的控件,如:ListBox、CheckedListBox、ComboBox、和 DataGridView等。14.4数据绑定数据绑定 在常用控件中,往往要使用数据绑定实现数据库应用程序的开发。

23、实现数据绑定的一般步骤如下:l 无论是简单数据绑定,还是复杂数据绑定,要实现数据绑定的第一步就是就是要连接数据库,得到可以操作的DataSet。l 根据不同组件,采用不同的数据绑定。 使用数据集对象 DataSet是ADO.NET中的核心对象,所有复杂的操作都是使用它来完成的。DataSet包含一组DataTable对象,表示所操作的数据库表。每个DataTable对象又都有一些子对象:DataRow和DataColumn,表示数据库表中的行和列。通过这些对象可以获取表、行和列中的所有元素。 l为应用程序添加数据源l添加绑定控件l将控件与数据源绑定的方法就是通过“属性”窗口,修改控件的“Dat

24、a Source”属性14.5 修改数据库 修改数据库可以使用DataSet来完成,也可以使用编程的方法去完成。 14.5 修改数据库 1使用使用DataSet修改数据库修改数据库 对数据库的修改操作可以用相同的模式完成:(1)用数据库中要使用的数据填充数据集DataSet。(2)修改存储在DataSet中的数据,例如,更新、插入和删除记录。(3)完成了所有的修改操作后,把DataSet中所作的修改更新到数据库中。14.5 修改数据库 2结构化查询语言结构化查询语言SQL(Structured Query Language,结构化查询语言)是操作所有关系型数据库的标准语言。其常用主要命令如下。读取表格内容:SELECT

温馨提示

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

评论

0/150

提交评论