VisualC#程序设计教程教学PPT作者罗福强白忠建杨剑C#Ch(2).ppt_第1页
VisualC#程序设计教程教学PPT作者罗福强白忠建杨剑C#Ch(2).ppt_第2页
VisualC#程序设计教程教学PPT作者罗福强白忠建杨剑C#Ch(2).ppt_第3页
VisualC#程序设计教程教学PPT作者罗福强白忠建杨剑C#Ch(2).ppt_第4页
VisualC#程序设计教程教学PPT作者罗福强白忠建杨剑C#Ch(2).ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

2019/7/12,1,电子科大成都学院精品课程Visual C# .Net程序设计,Visual C# .Net 程序设计,电子科大成都学院计算机系 课件制作:杨剑 E-Mail:yangjian.email163.COm,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,2,第12章 数据库编程技术,12.1 数据库与ADO.NET概述 12.2 使用ADO.NET访问数据库 12.3 数据库应用程序实例,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,3,12.1 数据库与ADO.NET概述,一、数据库概述 二、常用的SQL语句 三、ADO.Net概述,返回,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,4,一、数据库概述,1. 表、记录和字段 2. 数据库 3.索引 4.关系,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,5,1. 表、记录和字段,关系数据库系统采用关系模型作为数据的组织方式。 表是按某一公共结构存储的一组相似数据,类似于日常生活中的表格。 表按行列方式将相关的信息排列成逻辑组。表中的每一行称为记录。 列称为字段,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,6,2. 数据库,数据库将数据表表示为多个表的集合,通过建立表之间的关系来定义数据库的结构 所谓主键是指用来惟一标识表中记录的一个或一组字段。主键不允许有重复值。 外键是指用来连接另一个表、并在另一表中为主键的字段。,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,7,3.索引,使用索引来提高数据的检索速度 每个索引都有一个索引表达式来确定索引的顺序,索引表达式既可是一个字段,也可是多个字段的组合。 可以为一个表生成多个索引,每个索引均代表一种处理数据的顺序。,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,8,4.关系,可以将包含重复数据的表拆分成若干个没有重复数据的简单表,并通过建立表与表之间的关系来检索相关表中的记录。 表与表之间可能会有4种关系 一对一关系:指父表中的记录最多只与子表中的一条记录相匹配,反之亦然; 一对多关系:指父表中的记录与子表中的多条记录有关。例如,对于客户表和订单表来讲,每个订单只与一个客户有关,而每个客户可以有多个订单,因此客户表和订单表是一对多的关系; 多对一关系:与一对多是互补的,即父表中的多条记录与子表中的一条记录相关; 多对多关系:指父表中的多条记录与子表中的多条记录有关。,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,9,二、常用的SQL语句,1. SQL简介 2. SQL的构成 3. select语句 4. delete语句 5.insert语句 6.update语句,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,10,1. SQL简介,SQL(Structured Query Language)语言是一个综合的、通用的关系数据库语言,其功能包括查询、操纵、定义和控制。 目前,SQL标准有3个版本。 SQL-89 SQL-92 SQL3,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,11,2. SQL的构成,SQL由命令、子句和运算符等元素所构成的,这些元素结合起来组成用于创建、更新新和操作数据的语句。 SQL命令分两大类DDL(数据定义语言)命令和DML(数据操纵语言)命令。DDL命令用于创建和定义新的数据库、字段和索引。,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,12,3. select语句,select语句的功能是从现有的数据库中检索数据。 from子句指定数据的来源,即指出记录来自哪些表。 where子句指定选择记录时要满足的条件。 group by 子句对记录分组。 having子句确定在带group by子句的查询中具体显示哪些记录,可以用having子句来显示满足指定条件的分组。 order by子句对记录排序。,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,13,4. delete语句,delete语句的功能是删除from子句列出的、满足where子句条件的一个或多个表中的记录。 如: delete from Orders Where OrderId=16,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,14,5.insert语句,insert语句用于添加记录到表中。 如: insert into Orders (CustID,ProductID,OrderDate,SendDate,Qty) values(2,5,2008-8-12,2008-8-13,1),2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,15,6. update语句,update语句按某个条件来更新特定表中的字段值。 如: update Products set Price=8900 where Products.ProductId=3,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,16,三、 ADO.Net概述,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,17,二、 ADO.Net概述,1. Data Provider 2. DataSet,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,18,1. Data Provider,Data Provider提供了DataSet和数据库之间的联系,同时也包含了存取数据库的一系列接口。通过数据提供者所提供的应用程序编程接口(API),可以轻松地访问各种数据源的数据。 SQL Server .NET 数据提供程序,用于Microsoft SQL Server 数据源,来自于System.Data.SqlClient 命名空间; OLE DB .NET 数据提供程序,用于OLE DB 公开的数据源数据源,来自于System.Data.OleDb 命名空间; ODBC.NET 数据提供程序,用于ODBC 公开的数据源来自于System.Data.Odbc 命名空间; Oracle .NET 数据提供程序用于Oracle 数据源,来自于System.Data.OracleClient 命名空间。,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,19,1. Data Provider,.NET Data Provider有4个核心对象: Connection对象用于与数据源建立连接; Commmand对象用于对数据源执行指定命令; DataReader对象用于从数据源返回一个仅向前的(forward-only)只读数据流; DataAdapter对象自动将数据的各种操作变换到数据源相应的SQL语句。,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,20,2. DataSet,ADO.NET和核心组件是DataSet。 可以将DataSet想像成内存中的数据库,它是不依赖于数据库的独立数据集。 在ADO.NET中,DataSet是专门用来处理从数据源获得数据,而不管底层的数据是什么,可以使用相同的方式来操作从不同数据源取得的数据。 DataSet内部是用XML来描述数据的。XML是一种与平台无关、数据无关且能描述复杂数据关系的数据描述语言。,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,21,12.2 使用ADO.NET访问数据库,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,22,12.2 使用ADO.NET访问数据库,使用Connection对象连接数据库; 如果执行不需要返回结果的数据库执行命令或存储过程,可以使用Command对象; DataReader对象用于从数据源中读取仅向前和只读的数据流。 DataSet是数据的内存驻留表示形式,它提供了独立于数据源的一致关系编程模型。DataSet表示整个数据集,其中包含表、约束和表之间的关系。 与现有数据源的交互通过 DataAdapter 来控制。DataAdapter对象用于从数据源中获取数据、填充DataSet中和表和约束并将对DataSet的更改提交回数据源。,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,23,12.2 使用ADO.NET访问数据库,一、使用Connection对象访问数据库 二、使用Command对象访问数据库 三、使用DataReader对象访问数据库 四、使用DataAdaper与DataSet对象操作数据库,返回,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,24,一、使用Connection对象访问数据库,Connection的主要成员,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,25,一、使用Connection对象访问数据库,连接数据库步骤 (1)定义连接字符串 使用SQL Server身份验证: Data Source=服务器名;Initial Catalog=数据库名; User ID=用户名;Pwd=密码 使用Windows身份验证: Data Source=服务器名;Initial Catalog=数据库名;Integrated Security=True (2)创建 Connection 对象 SqlConnection connection = new SqlConnection(connString); (3) 打开与数据库的连接 connection.Open( );,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,26,一、使用Connection对象访问数据库,【实例12-1】创建一个Windows项目DataTestDemo,连接示例数据库pubs 。 实例12-1源代码阅读(见教材) 操作演示 代码分析,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,27,一、使用Connection对象访问数据库,不同命名空间的 Connection 对象,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,28,一、使用Connection对象访问数据库,【实例12-1】创建一个Windows项目DataTestDemo,连接示例数据库pubs 。 实例12-1源代码阅读(见教材) 操作演示 代码分析,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,29,二、使用Command对象访问数据库,Command的主要成员,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,30,二、使用Command对象访问数据库,【实例12-2】在项目DataTestDemo中,连接示例数据库pubs,并查询数据库中一共有多少种书目 。 实例12-2源代码阅读(见教材) 操作演示 代码分析,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,31,二、使用Command对象访问数据库,使用 ExecuteNonQuery() 的步骤: (1)创建 Connection 对象; (2)定义sql 语句; (3)创建 Command 对象; (4)执行 ExecuteNonQuery() 方法; (5)根据返回的结果进行处理。,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,32,二、使用Command对象访问数据库,【实例12-3】在项目DataTestDemo中,连接示例数据库pubs,将所有图书价格下降10%。 实例12-3源代码阅读(见教材) 操作演示 代码分析,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,33,三、 使用DataAdaper与DataSet对象操作数据库,1. DataAdaper与DataSet 2. DataGridView,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,34,1. DataAdaper与DataSet,DataReader是一种快速的、轻量的、只进的数据访问对象。 当数据量较大,想要大批量的查询和修改数据,或者想在断开数据库连接的情况下操作数据时可以使用DataSet对象。 DataSet 数据集可以简单理解为一个临时数据库。 DataSet将数据源的数据保存在内存中并独立于任何数据库。 DataSet中的数据相当于数据源的数据的一个副本,程序断开和数据源的连接,和内存中的DataSet数据交互。 可以及大的加快数据访问和处理速度同时也节约了资源。,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,35,1. DataAdaper与DataSet,DataSet 的基本结构,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,36,1. DataAdaper与DataSet,数据集的工作原理,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,37,1. DataAdaper与DataSet,要使用DataSet,必须先创建 DataSet 对象 ,语法如下: DataSet 数据集对象 = new DataSet(“数据集的名称字符串“); 其中数据集的名称字符串可以省略,示例: /创建一个名为“NewDataSet”的数据集 DataSet dataSet = new DataSet(); /创建一个名为“MyData“的数据集 DataSet dataSet = new DataSet(“MyData“);,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,38,1. DataAdaper与DataSet,DataAdapter 是 DataSet 和数据源之间的桥接器,用于检索和保存数据。 DataAdapter的主要成员,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,39,1. DataAdaper与DataSet,使用DataAdapter对象填充数据集时,先使用 Connection 连接数据源,然后使用 Fill() 方法填充DataSet中的表 。 (1)创建 SqlDataAdapter对象 SqlDataAdapter 对象名 = new SqlDataAdapter(查询用sql语句, 数据库连接); (2) 填充DataSet DataAdapter对象. Fill(数据集对象, “数据表名称字符串“);,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,40,1. DataAdaper与DataSet,使用SqlCommandBuilder 对象来自动生成更新要的相关命令,简化操作,步骤如下: (1)自动生成用于更新的相关命令SqlCommandBuilder builder = new SqlCommandBuilder(已创建的DataAdapter对象); (2)将 DataSet 的数据提交到数据源 DataAdapter对象. Update(数据集对象, “数据表名称字符串“);,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,41,2. DataGridView,DataGridView 控件是一个强大而灵活地用于显示数据的可视化控件,通过可视化操作可以轻松定义控件外观,像 Excel 表格一样方便的显示和操作数据 。 使用 DataGridView 显示数据时,首先需要指定 DataGridView 的数据源即DataSource 属性,实现步骤: (1)添加窗体的控件; (2)设置 DataGridView 控件和其中各列的属性; (3)设置 DataSource 属性,指定数据源。,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,42,2. DataGridView,DataGridView的主要属性 。,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,43,2. DataGridView,DataGridView中各列的主要属性,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,44,2. DataGridView,DataGridView的“编辑列”窗口样式,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,45,2. DataGridView,【实例12-5】在项目DataTestDemo中,连接示例数据库pubs,显示数据库中书目信息。 实例12-5源代码阅读(见教材) 操作演示 代码分析,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,46,12.3 数据库应用程序实例,一、添加数据库 二、实现登录功能 三、实现添加学生信息功能 四、实现添加课程信息功能 五、实现学生信息管理功能 六、实现课程信息管理功能 七、实现学生成绩管理功能,返回,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,47,一、添加数据库,【实例12-6】使用Visual Studio 2005包含SQL Express建立一个学生成绩管理数据库MySchool,用于实现第7章中学生成绩管理系统的相应操作。 实例12-6源代码阅读(见教材) 操作演示 代码分析,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,48,二、实现登录功能,【实例12-7】完成MySchool用户登录功能,当输入正确的用户名和密码时,系统将给出正确的提示,否则给出错误提示。 实例12-7源代码阅读(见教材) 操作演示 代码分析,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,49,三、实现添加学生信息功能,【实例12-8】完成MySchool添加学生信息功能,向数据库MySchool的StudentMsg表添加学生信息。 实例12-8源代码阅读(见教材) 操作演示 代码分析,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,50,四、实现添加课程信息功能,【实例12-9】完成MySchool添加课程信息功能,向数据库MySchool的CourseMsg表添加课程信息。 实例12-9源代码阅读(见教材) 操作演示 代码分析,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,51,五、实现学生信息管理功能,【实例12-10】 完成MySchool学生信息管理功能。本实例将采用VS2005提供的可视化工具完成对学生信息的增、删、查和修改功能。 实例12-10源代码阅读(见教材) 操作演示 代码分析,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,52,六、实现课程信息管理功能,【实例12-11】 完成MySchool课程信息管理功能。 实例12-11源代码阅读(见教材) 操作演示 代码分析,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,53,七、实现学生成绩管理功能,【实例12-12】 完成MySchool学生成绩管理功能实现对学生成绩的添加和更新功能。 实例12-12源代码阅读(见教材) 操作演示 代码分析,2019/7/12,电子科大成都学院精品课程Visual C# .Net程序设计,54,本章要点,.NET framework 中的 ADO.NET 是一组类,允许应用程序与数据库交互,以便检索和更新信

温馨提示

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

评论

0/150

提交评论