ASP.NET程序设计 第6章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《ASP.NET程序设计 第6章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP.NET程序设计 第6章 ASP NET 程序设计
- 资源描述:
-
1、第6章 ASP.NET数据库操作 本章导读本章导读 本章内容包括数据库基础知识、创建Access数据库一般过程、SQL语句的使用及调试,以及数据控件的使用。重点介绍在ASP.NET中如何使用AccessDataSource控件连接数据库,以及使用如GridView、DataList 和Repeater等数据显示控件显示数据库内容,帮助读者快速掌握在ASP.NET动态网页设计中实现数据库操作。在学习数据库初步操作的基础上,还学习在ASPNET中使用ADO.NET对象,以编程的方法访问数据库的一般步骤和方法,实现更灵活的数据库操作和数据显示。6.1 数据库基础数据库基础 6.1.1 数据库和数据库
2、管理系统的概念数据库和数据库管理系统的概念 1.数据库 数据库是存储在计算机系统内的一个通用化的、综合性的、有结构的、可共享的数据集合,具有较小的数据冗余和较高的数据独立性、安全性和完整性。数据库的创建、运行和维护是在数据库系统的控制下实现的,并可以为各种用户共享。数据库是一个应用的数据存储和处理的系统,存储一个应用领域有关数据的集合,它独立于开发平台,处于应用系统的后台,能共享提供给各种应用或用户使用,并能提供数据完整性控制、安全性控制和并发控制功能。数据库通常由专门的系统进行管理,管理数据库的系统称为数据库管理系统。数据库用户通常可以分为两类:一类是批处理用户,又称应用程序用户,这类用户使
3、用程序设计语言编写应用程序,对数据进行检索、插入、删除和修改等操作,并产生数据输出;另一类是联机用户,或称为终端用户。终端用户使用终端命令或查询语言直接对数据库进行操作。2.数据库管理系统 数据库管理系统是一个数据库管理软件,简称DBMS(DataBase Management System)。数据库管理系统是数据库系统的核心。DBMS为用户提供方便的用户接口,帮助和控制每个用户对数据库进行的各种操作,并提供数据库的定义和管理功能。整个数据库的创建、运行和维护,都是在数据库管理系统的控制下实现的。3.数据库应用系统的概念 数据库应用系统是在数据库管理系统支持下运行的一类计算机应用(软件)系统,
4、简称DBAS(DataBase Application System)。一个数据库应用系统通常由三部分组成,即数据库、应用程序和数据库管理系统。一般的数据库应用系统中,使用通用的数据库管理系统,而数据库和应用程序需要由用户(开发人员)开发。在批处理用户使用的数据库应用系统中,应用程序处于最终用户端(前端),用户直接操纵和使用的是应用程序;而数据库和数据库管理系统则处于系统的后端,它对用户是透明的。因此,这一类数据库应用系统的用户是通过应用程序操作、管理和维护数据库的。4.数据库系统的模型 在数据库中的数据是高度结构化的,数据系统的模型是描述数据库中的数据的结构形式的。主要有三种数据库系统模型,
5、即层次模型、网状模型和关系模型。目前最常用的数据库都是关系型的。层次型 层次型数据库是以记录为结点构成的树,它把客观事物抽象为一个严格的、自上而下的层次关系。在层次关系中,只存在一对多的实体关系,每一个结点表示一个记录类型,结点之间的连线表示记录之间的联系(只能是父子关系)。层次模型的特点:有且仅有一个根结点无双亲;其他结点有且仅有一个双亲。网状模型网状数据模型是以记录为数据的存储单元,允许多个结点没有双亲结点,允许结点有多个双亲结点。如图6-1所示是一个典型的网状数据模型。关系模型关系数据模型以集合论中的关系(Relation)概念为基础发展起来,是用二维表格结构表示的数据模型。5.关系型数
6、据库在关系数据模型中,字段称为属性(Attribute),字段的值即属性值,由属性的集合描述记录,记录称为元组(Tuple),元组的集合称为关系(Relation)或实例(Instance)。从二维表格直观地看,表格的行为元组,表格的列为属性。不同的数据通过不同的二维表格存储,各表之间通过关键字段相关联,构成一定的关系。关系模型既能反映属性之间的一对一关系,也能反映属性之间的一对多和多对多关系,图6-2所示是一个典型的关系模型。图6-2 关系模型实例6.1.2 数据库程序设计基础数据库程序设计基础 1.客户/服务器(Client/Server)数据库应用系统 客户/服务器(Client/Ser
7、ver)是一种分布式数据库管理系统,应用于网络环境。在这种结构的应用系统中,“前端”是应用程序的操作界面,位于用户端(客户端),往往是比较直观和友好的操作界面;“后端”是存放应用系统数据的数据库,位于服务器端。分布式数据库管理系统与桌面数据库管理系统有很大不同,最主要的区别是所有由前端应用程序发出的查询都在服务器端执行,只将查询的结果传送到前端;而在传统的共享式桌面系统中,应用程序发出的查询命令是在客户端执行的,即将服务器端的数据库文件在客户端打开,然后进行查询。2.Web模式的数据库应用系统 Web模式的数据库访问方式与Client/Server模式有很大的不同,其中间件实际是WEB应用程序
8、,前端(用户端)是浏览器,“后端”是存放应用系统数据的数据库,应用程序升级时,只需要将服务器端的中间件升级即可。由于前端是通用软件(浏览器),一般不需要升级,大量用户的应用系统升级非常方便。3.关系数据库和表 目前使用的大部分数据库都是关系型数据库。一个关系型数据库通过若干个表(Table)存储数据,并且通过关系将这些表联系在一起。表以二维表格形式表示。表是由行和列组成的数据集合,表中一行为一个记录(Record),一列为记录中的一个字段(Field)。例如,表6-1所示的学籍表中,学号、姓名、性别、出生年月等都是字段,每个学生的字段数据构成了该学生的一条记录。学学 号号姓姓 名名性性 别别出
9、出 生生 年年 月月D001王涛男1982/5/4D002李冰女1982/1/3D003张红女1980/9/17D004郑洁女1980/10/15D005袁明男1981/2/10D006张萍女1980/11/2D007张骏男1980/12/23D008罗娟女1981/5/24 可以将表看成是一种用户自定义类型,表中的每一条记录是这种用户自定义类型的一个变量,字段是这种用户自定义类型的各个分量。例如,若将表6-1称为“学籍表”,该表可以看作是以下用户自定义类型:Structure 学籍表 Dim 学号 As String Dim 姓名 As String Dim 性别 As String Dim
10、 出生年月 As Date End Structure 其中,“学号”、“姓名”、“性别”和“出生年月”是组成用户自定义类型“学籍表”的四个变量,正好与表中的四个字段对应。表中的所有记录相当于一组被声明为用户自定义类型“学籍表”的变量。2.记录和字段 在二维表格中,每一行数据构成一条记录,记录是数据库管理中操作的基本数据。每一列数据构成了一个字段,每个字段都有相应的字段名、数据类型和数据宽度等结构描述信息。3.查询、视图和存储过程 由数据库中按照关系组合而成的具有实际使用意义的表,称为查询(Query)。查询不是数据库中存储的表,而是按照各种规则和要求“查”出来的表。查询可通过SQL(Stru
11、ctured Query Language,结构化查询语言)创建。SQL是一种标准的查询语言,几乎所有的关系数据库系统都支持这种语言。各种关系型数据库中的SQL语言有所不同,但最基本的语句和使用方法是一样的。存储在数据库中的查询,称为视图(View)。存储在客户/服务器数据库中的、用SQL语句编写的程序段,称为存储过程(Stored Procedure)。4.SQL语言 SQL语言的主要功能由八个动词来表达,用户只需要写出做什么,即可得到查询的结果。数据查询功能。查询是SQL语言的核心,SQL的查询操作可以从一个或多个表中找出满足条件的元组。SQL中用动词Select实现查询,用Select可
12、以实现数据库的选择、投影和连接等操作。例如,用以下Select语句即可从数据库中列出满足查询条件的指定字段值:Select From Where 该语句可从所指定的表中取出“字段列表”所指定的字段,并通过“查询条件”进行筛选,只有满足条件的记录才可被选出,从而创建了一个查询。数据定义功能。SQL的数据定义功能包括定义数据库、定义基本表、定义视图和定义索引等。SQL的数据定义可用相应的动词实现,如Create等。数据更新功能。SQL中用动词Insert、Delete和Update实现数据更新。数据控制功能。SQL中用动词Grant、Revote实现数据控制。由于不同的数据库管理系统在实现SQL语
13、言时各有差别,并且一般都做了某种的扩充。因此,用户在使用时应参阅系统提供的有关手册。5.记录集 记录集即记录的集合,是数据库中一个表或查询(或多个表连接)的一个子集,可以是整个表,也可以是表的一部分。可见,在数据库的表述中,记录集是表或查询的视图。6.2 创建创建Access 2003数据库数据库本节以建立一个简单的订单管理数据库db1.mdb为例,介绍在Microsoft Office Access 2003 中创建数据库的过程。该数据库将作为6.3节中案例使用得数据库。6.2.1 规划表结构规划表结构 建立数据库前,对需要保存的信息进行分析,然后对表结构进行规划。本案例需要进行订单管理,根
14、据一般订单需要保存的数据。规划表结构如表6-2、表6-3和表6-4所示。表6-2订单表字段名字段名订单编号订单编号产品编号产品编号客户编号客户编号数量数量单价单价下单日期下单日期送货日期送货日期经手人经手人文本(20)文本(20)文本(20)整数数值(2位小数)日期日期文本(20)表6-3产品表 表6-4客户信息表字段名字段名产品编号产品编号产品名称产品名称单位单位规格规格类型(长度)文本(20)文本(50)文本(10)文本(20)字段名字段名客户编号客户编号姓名姓名性别性别生日生日联系电话联系电话公司地址公司地址类型(长度)文本(20)文本(50)是/否日期文本(20)文本(100)6.2.
15、2 在在Access 2003 中建立表结构中建立表结构 在Access中创建表结构的基本步骤如下:启动Access 2003。在菜单栏上选择“文件新建”选项,在弹出“新建”窗格中选择新建“空数据库”选项,如图6-3所示。选择保存数据库的位置,本例为C:db1.mdb,如图6-4所示。图6-3 “Microsoft Access”对话框 图6-3 “Microsoft Access”对话框 图6-4 “文件新建数据库”对话框图6-4 “文件新建数据库”对话框打开表设计器,用表设计器创建“订单表”,如图6-5所示。双击打开表设计器表设计器图6-5 打开表设计器图6-5 打开表设计器保存为“订单表
16、”,如图6-6所示。建立好的订单表,双击打开进行数据录入按以上步骤依次建立“产品表”和“客户信息表”,如图6-7和图6-8所示,完成数据库的创建。图6-7 产品表 图6-8 客户信息表6.3 SQL语言初步语言初步 数据库查询语言(SQL)是关系数据库的标准语言,被很多类型的数据库所支持。本节通过实例介绍最常用的操作数据库的SQL语句,如数据查询、删除、添加和更新的实现等。其中,四个最常用的SQL语句是本章使用ASP.NET数据控件的基础,即Select、Insert、delete和Update。更多的细节请参考有关书籍。6.3.1 查询记录的查询记录的Select语句语句 Select语句功
17、能非常丰富,可以按任意条件从一个表或多个表中查询满足条件的数据,其语法也比较复杂。1.Select语句的一般格式 Select Form Where 条件 例例6-1 查询订单表中所有的数据。命令:Select*From订单表 说明:语句中的*号代表表中所有的字段,也可以按例6-2的方式列出每一个选择选择的字段。例例6-2 以“订单编号”为查询条件,在“订单表”中列出满足条件的记录。命令:Select订单编号,产品编号,客户编号,数量,下单日期,送货日期From订单表 Where 订单编号=A1000 说明:Select 关键字后面需要列出的字段以逗号分隔;由于“订单编号”字段为字符串类型,具
18、体的值需要用双引号作为定界符。如果将该SQL语句保存到字符串变量中,需要将双引号改为单引号,如下所示:Dim sql As String sql=Select 订单编号,产品编号,客户编号,数量,下单日期,送货日期 From 订单表 Where 订单编号=A1000 例例6-3 查询“订单表”中数量10或下单日期在2007-05-9与2007-09-09之间的订单。命令:Select*From订单表Where数量10 OR(下订日期=#2007-09-09#)说明:条件Where关键字后面,如果字段类型为数字,则值不需要加任何定界符,如果是日期类型,其值必须带#定界符。使用逻辑运算符(And、
19、Or和Not)连接多个条件。以上三个例子分别是以文本类型、数值类型和日期类型字段作为条件,使用SQL命令查询数据所用的语法。2.在Access中验证SQL语句的方法 在Access中,可以对以上SQL语句的正确性进行验证,检查SQL语句是否正确,以及能否按照条件得到所需要的结果,方法如下:在Access中打开6.2节中建立的数据库,选择“查询”对象,如图6-9所示。进入SQL命令的查询设计模式,如图6-10所示。输入SQL命令及执行命令,如图6-11所示。2134双击添加订单表图6-9 打开数据库,选择查询对象添加的表选择SQL视图以便测试SQL命令图6-10 进入SQL命令查询设计模式1.输
20、入SQL命令2 执行SQL命令3 执行SQL命令结果4 回到设计视图图6-11 输入并执行SQL命令 例例6-4 统计表的记录数。命令:Select Count(*)as 记录数 From 订单表 说明:在SQL语句中,可以使用内部函数对记录进行统计。Count函数作用是得到表中的记录总数。例例6-5 统计“订单表”中订单编号=A1000 And客户编号=K1 的订货总数量。命令:Select Sum(数量)as 订货量 From订单表 Where 订单编号=A1000 and 客户编号=K1 可以使用Count()和Sum()函数,以及其他函数,如Max()、Min()等。例6-6 在“客户
21、信息表”中查询姓“张”的客户信息(姓名以张开头)。命令:Select*From 客户信息表 where 姓名 Like 李*Like关键字用于模糊匹配,“*”代替任意多个字符;“?”代表任意一个字符。Select还有更多、更灵活的使用方式,可以满足几乎任何对表数据的查询要求,读者可参考其他相关资料。6.3.2 添加记录的添加记录的Insert语句语句 一般格式:Insert Into 表名(字段列表)Values(值列表)功能:向表中添加一条新记录。例例6-7 向订单表添加一条新记录。命令:Insert Into 订单表(订单编号,客户编号,产品编号,数量,单价,下订日期,送货日期)Value
22、s(A2000,K1,C100,12,12.89,#2007-09-07#,#2007-12-30#)值列表的位置和个数型应与字段列表一一对应。文本字段类型和日期字段类型对应的常数值需要使用定界符。6.3.3 删除记录的删除记录的Delete语句语句 一般格式:Delete*From Where 条件 例例6-8 删除“订单表”中订单编号为 A2000的记录。命令:Delete*From 订单表 Where 订单编号=A2000 如果没有Where子句,则删除整个订单表数据。6.3.4 更新记录的更新记录的Update语句语句 一般格式:Update Set Where 条件 例例6-9 修改
23、“订单表”,将订单编号为“A1000”的“数量”改为20。命令:Update订单表Set数量=20 Where订单编号=A1000 如果没有Where子句,则所有记录的“数量”字段值都将修改为20。6.4 数据库的初步操作数据库的初步操作 网页设计中,常常需要将数据库中的数据通过数据表格形式显示出来。ASP.NET提供了一组无须编写代码即可连接数据库、读出数据并将数据显示出来的数据控件。ASP.NET数据控件分为两大类:一类是实现数据库连接并读取指定数据表数据的数据源控件,这类控件没有数据显示功能;第二类是结合数据源控件显示数据的控件。图6-12是数据库、数据源控件和数据显示控件三者的关系示意
24、图。数据源控件数据显示控件ASP.NET页面操作Access数据库:AccessDataSource操作SQL SERVER数据库:SqlDataSource 图6-12 使用数据控件在ASP.NET页面上显示数据库中的数据 在ASP.NET页面中显示数据的基本步骤:1.连接数据库,通过配置SQL查询语句选择数据库中某个表数据。该步骤可以用数据源控件实现。2.通过数据显示控件,将数据呈现出来。本节通过案例介绍有关数据库的操作。例例6-10 使用GridView表格视图控件,在页面上显示Access数据库db1.mdb中“成绩”表的数据,如图6-13所示。图6-13 用DridView显示“成绩
25、”表数据 假设已创建Access数据库并保存为C:Db1.mdb,数据库Db1.mdb包含“成绩”表结构(见图6-14)以及初始录入的表数据(见图6-15)。图6-14 “成绩”表结构图6-15“成绩”表录入的数据要实现本例的功能,需要进行一系列的数据库操作。6.4.1 连接数据库,选取数据连接数据库,选取数据 要实现例6-10的功能,首先需要进行连接数据库,选取数据。相关知识与技能相关知识与技能 要在ASP.NET页面中将读取的数据显示出来,首先要与已创建的数据库建立连接。在ASP.NET中,可以用两种方式实现数据库操作,一种是使用数据源控件方式连接数据库、读取数据,然后用数据显示控件显示,
展开阅读全文