第7章数据库网站开发_第1页
第7章数据库网站开发_第2页
第7章数据库网站开发_第3页
第7章数据库网站开发_第4页
第7章数据库网站开发_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、本章要点本章要点l7.1 新闻浏览新闻浏览 l7.2 新闻管理系统新闻管理系统 l7.3 后台管理系统 l7.4 综合实例 l习题7 7.1.1 案例效果案例效果 图图7-1 新闻浏览新闻浏览7.1.2 案例实现案例实现 (见书)(见书)7.1.3 知识拓展知识拓展1. 网络数据库应用概述网络数据库应用概述当前的当前的Web应用中,不论是电子商务、新闻、应用中,不论是电子商务、新闻、论坛、博客,还是聊天室,所有的网站中几乎没论坛、博客,还是聊天室,所有的网站中几乎没有哪个网站不会用到数据库的,网络中的数据库有哪个网站不会用到数据库的,网络中的数据库应用设计是一个相当复杂的过程,这需要学习众应用

2、设计是一个相当复杂的过程,这需要学习众多的相关知识,包括创建多的相关知识,包括创建/管理数据库、数据查询、管理数据库、数据查询、数据接口、客户界面等多个方面的内容。图数据接口、客户界面等多个方面的内容。图7-1给出了一个能够访问给出了一个能够访问Web数据库的数据库的ASP网络数据网络数据库应用程序架构。库应用程序架构。 图图7-1 ASP网络数据库应用程序架构网络数据库应用程序架构2. 数据库的基本概念数据库的基本概念数据库技术是计算机技术的一个重要部分。它所研究数据库技术是计算机技术的一个重要部分。它所研究的问题是如何科学地组织和存储数据,如何高效地获取和的问题是如何科学地组织和存储数据,

3、如何高效地获取和处理数据。处理数据。数据库按其结构划分主要有层次型、网络型和关系型数据库按其结构划分主要有层次型、网络型和关系型三类。三类。 目前应用最为广泛的是关系型数据库。目前应用最为广泛的是关系型数据库。 图图7-2 表、记录与字段表、记录与字段数据库是数据表的集合,数据表由一系列记数据库是数据表的集合,数据表由一系列记录组成,记录是数据表中数据操作的单位,比如录组成,记录是数据表中数据操作的单位,比如排序、删除等都是将一条记录按一个整体来进行。排序、删除等都是将一条记录按一个整体来进行。3. 在在SQL Server2000中创建数据库中创建数据库可以作为数据库管理系统的工具有多种,常

4、见的有可以作为数据库管理系统的工具有多种,常见的有Microsoft SQL Server、Microsoft Access、DB2和和Oracle等。其中,等。其中, SQL Server、DB2和和Oracle常用于大型企业服常用于大型企业服务器数据库的开发管理,而务器数据库的开发管理,而Microsoft Access则常用于中小则常用于中小型企业的桌面数据库开发。在一般的电子商务网站中型企业的桌面数据库开发。在一般的电子商务网站中MicroSoft SQL Server使用得比较多,下面,将学习如何使用得比较多,下面,将学习如何在在Microsoft SQL Server2000中创建

5、数据库。中创建数据库。在在“开始开始”菜单中单击菜单中单击“开始开始”“所有程所有程序序”“Microsoft SQL Server”“企业管理器企业管理器”菜单命令,菜单命令,启动启动MicroSoft SQL Server2000的的“企业管理器企业管理器”程序。程序。在在“企业管理器企业管理器”左侧窗口中展开左侧窗口中展开“控制台根目录控制台根目录”,在,在“控制台根目录控制台根目录”下的下的“Microsoft SQL Servers” 内的内的“SQL Servers”组组“(local)(Windows NT)”服务器中的服务器中的“数据库数据库”文件夹上单击鼠标右键,在弹出的菜单

6、中选择文件夹上单击鼠标右键,在弹出的菜单中选择“新建数据库新建数据库”菜单命令。如图菜单命令。如图7-3所示。所示。图图7-3 企业管理器企业管理器单击单击“新建数据库新建数据库”菜单命令后,将弹出一个菜单命令后,将弹出一个“数据库属性数据库属性”对话框。在该对话框的对话框。在该对话框的“名称名称”框中输入数据库的名称框中输入数据库的名称“aspteach”,如图,如图7-4左图所示。左图所示。 图图7-4 新建数据库新建数据库 图图7-5 新建表新建表在弹出窗口中按图在弹出窗口中按图7-6的内容创建新表。其中,的内容创建新表。其中,id为新闻序为新闻序号,号,kind为新闻类型(取值为为新闻

7、类型(取值为msg表示通知,表示通知,news表示普通新表示普通新闻),闻),title为新闻标题,为新闻标题,content为新闻内容,为新闻内容,addtime为更新为更新时间,时间,admin为增加为增加/修改新闻的管理员名称。修改新闻的管理员名称。图图7-6 设置表的字段设置表的字段然后单击窗口左上角的然后单击窗口左上角的“保存保存”按钮,此进会弹出一个按钮,此进会弹出一个“选择名称选择名称”对话框,在对话框,在“输入表名输入表名”框中输入框中输入“news”后后单击单击“确定确定”按钮保存表,然后单击右上角的按钮关闭表设按钮保存表,然后单击右上角的按钮关闭表设计窗口(注意,是窗口内较

8、小的那个按钮),回到计窗口(注意,是窗口内较小的那个按钮),回到“企业管企业管理器理器”。图图7-7 选择选择“返回所有行返回所有行”命令命令图图7-8 输入新闻记录输入新闻记录4. 配置配置ODBC打开打开“开始开始”菜单,单击菜单,单击“开始开始”菜单菜单“程序程序”中中“管理工具管理工具”下的下的“数据源(数据源(ODBC)”菜单命令,打开菜单命令,打开“ODBC数据源管理器数据源管理器”。如图。如图7-9左图所示。左图所示。 图图7-9 ODBC数据源管理器数据源管理器在在“ODBC数据源管理器数据源管理器”中,打开中,打开“系统系统DSN”选项选项卡,如图卡,如图7-9右图所示。右图

9、所示。 图图7-10 选择驱动程序选择驱动程序在列表框中选择在列表框中选择“SQL Server”选项(如果是其他类型选项(如果是其他类型数据,请选择相应选项,例如,对于数据,请选择相应选项,例如,对于Access数据库则需要数据库则需要选择选择“Drive do Microsoft Access (*.mdb)”选项)。单击选项)。单击“完成完成”按钮,将弹出如图按钮,将弹出如图7-11左图所示的左图所示的“创建到创建到SQL Server的新数据源的新数据源”对话框。对话框。 图图7-11 创建新数据源创建新数据源在在“名称名称”框内输入所要创建的数据源名称,在服务框内输入所要创建的数据源

10、名称,在服务器列表中可以选择所要连接的器列表中可以选择所要连接的SQL Server服务器。本例中,服务器。本例中,将数据源名称设为将数据源名称设为“aspteach”,服务器选择,服务器选择“(local)”。如图如图7-11右图所示。这里的右图所示。这里的“(local)”表示本机服务器,表示本机服务器,也可以连接到网络中的其他也可以连接到网络中的其他SQL Server服务器。服务器。 图图7-12 选择登录方式和默认数据库选择登录方式和默认数据库 图图7-13 ODBC Microsoft SQL Server安装安装单击单击“SQL Server ODBC 数据源测试数据源测试”对话

11、框中的对话框中的“确确定定”按钮,回到按钮,回到“ODBC Microsoft SQL Server安装安装”对话框,对话框,再单击再单击“确定确定”按钮,回到按钮,回到“ODBC数据源管理器数据源管理器”。可以。可以看到新配置的数据源看到新配置的数据源“ASPdb”已经在列表框中,如图已经在列表框中,如图7-14所所示。示。图图7-14 完成配置后的完成配置后的ODBC数据源管理器数据源管理器上面的步骤中,完成了对一个上面的步骤中,完成了对一个SQL Server2000数据源的数据源的配置。如果使用的数据库不是配置。如果使用的数据库不是SQL Server2000,而是其它类,而是其它类型

12、的数据库,例如,型的数据库,例如,Access2000的的MDB数据库,那么,只需数据库,那么,只需要在要在“创建新数据源创建新数据源”对话框中选择对话框中选择“Driver do Microsoft Access (*.mdb)选项选项”,如图,如图7-15所示。再按提示操作即可。所示。再按提示操作即可。图图7-15 选择选择Access驱动程序驱动程序5ADO基础基础数据库创建配置完成以后,接下来将学习通过数据库创建配置完成以后,接下来将学习通过ASP去访问数据。去访问数据。ASP对数据库的操作,主要是通过对数据库的操作,主要是通过ActiveX数据对象数据对象(ADO,ActiveX D

13、ata Object)来进行的,来进行的,ADO是帮助用户与数据库进行交互的组件。下面将学是帮助用户与数据库进行交互的组件。下面将学习通过习通过ADO从数据库中获取和传送数据,以及获取到数据后的数据处理方从数据库中获取和传送数据,以及获取到数据后的数据处理方法。法。图图7-16常用常用ADO对象间的联系对象间的联系6. ASP网络数据库应用程序的设计流程网络数据库应用程序的设计流程ASP网络数据库应用程序的设计可以归纳为以下几网络数据库应用程序的设计可以归纳为以下几步:(见书)步:(见书)下面的内容将以本节的案例实现为例,就这些流程下面的内容将以本节的案例实现为例,就这些流程步骤进行简单的学习

14、。步骤进行简单的学习。在前面的学习中,已经完成了数据库和数据源在前面的学习中,已经完成了数据库和数据源DSN的创建,的创建,DSN数据源名称为数据源名称为aspteach,接下来将通过,接下来将通过ADO对象创建数据库连接,并操作数据库。对象创建数据库连接,并操作数据库。 7.2.1 案例效果案例效果 图图7-17新闻管理新闻管理7.2.2 案例实现案例实现 (见书)(见书)7.2.3 知识拓展知识拓展1. SQL 简介简介SQL(Structured Query Language,结构化查询语言,结构化查询语言)是是一种数据查询和编程语言,是操作数据库的工业标准语言。一种数据查询和编程语言,

15、是操作数据库的工业标准语言。SQL语言是基于语言是基于IBM早期数据库产品早期数据库产品System R发展起来的。发展起来的。于于1986年经美国国家标准协会(年经美国国家标准协会(ANSl)确认为国家标准,)确认为国家标准,1990年经国际标准化组织年经国际标准化组织(ISO)确认为国际标准。作为一种确认为国际标准。作为一种特殊用途的语言,特殊用途的语言,SQL特别设计用来生成和维护关系数据库特别设计用来生成和维护关系数据库的数据。的数据。SQL语言是一个结构化的关系型数据库查询语言,主要语言是一个结构化的关系型数据库查询语言,主要用来存取数据库的内容,提供使用者方便、简单的操作方法用来存

16、取数据库的内容,提供使用者方便、简单的操作方法的同时,也兼具了强大的功能,千万别以为的同时,也兼具了强大的功能,千万别以为SQL语言的所有语言的所有功能只有查询功能只有查询(Query)而己,事实上,从建立新的数据表而己,事实上,从建立新的数据表(Table),到修改或是删除数据库中的记录(,到修改或是删除数据库中的记录(Record),),SQL语言对于数据库的操作可以说是无所不能。语言对于数据库的操作可以说是无所不能。SQL语言包括了对数据库的设计、查询、维护、控语言包括了对数据库的设计、查询、维护、控制、保护等全方位的功能。在制、保护等全方位的功能。在SQL语言中,只需要指定语言中,只需

17、要指定要做什么而不是怎么做,不需要告诉要做什么而不是怎么做,不需要告诉SQL如何访问数据如何访问数据库,只要告诉库,只要告诉SQL需要数据库做什么。利用需要数据库做什么。利用SQL可以指可以指定想要检索的记录以及按什么顺序检索。可以在设计或定想要检索的记录以及按什么顺序检索。可以在设计或运行时对数据控件使用运行时对数据控件使用SQL语句。一条语句。一条SQL语句可以替语句可以替代许多条数据库命令。从而使得数据的查询功能更加强代许多条数据库命令。从而使得数据的查询功能更加强大、灵活和快速。大、灵活和快速。SQL语言已经成为许多关系型数据库语言已经成为许多关系型数据库(如,如,MS SQL Ser

18、ver、Oracle、DB2)的标难查询语言了,当需要操作的标难查询语言了,当需要操作数据库时,就可以使用数据库时,就可以使用SQL语言,但值得兴奋的是学习语言,但值得兴奋的是学习SQL语言并没有想象中的那么困难,语言并没有想象中的那么困难,SQL语言和其它的语言和其它的程序语言程序语言(如,如,C/C+或者或者Java)最大的不同之处在于最大的不同之处在于SQL是一个非常易于学习和使用的语言,很快就可以学是一个非常易于学习和使用的语言,很快就可以学会会SQL语言最常使用的命令,并且开始寻找一些数据和语言最常使用的命令,并且开始寻找一些数据和维护自己的数据库。维护自己的数据库。2. Conne

19、ction 对象对象(1)Connection 对象概述对象概述Connection 对象代表打开的、与数据源的连接。对象代表打开的、与数据源的连接。Connection 对象代表与数据源进行的唯一会话。如果对象代表与数据源进行的唯一会话。如果是客户端是客户端/服务器数据库系统,该对象可以等价于到服服务器数据库系统,该对象可以等价于到服务器的实际网络连接。取决于数据提供者所支持的功务器的实际网络连接。取决于数据提供者所支持的功能,能,Connection 对象的某些集合、方法或属性有可能对象的某些集合、方法或属性有可能无效。(见书)无效。(见书)可以创建独立于先前定义的其他任何对象的可以创建独

20、立于先前定义的其他任何对象的 Connection 对象。对象。此外,还可以象执行此外,还可以象执行 Connection 对象的本地方法一样对象的本地方法一样执行命令或存储过程。执行命令或存储过程。 下面的例子是本节中新闻管理系统的另几个页面。(见书)下面的例子是本节中新闻管理系统的另几个页面。(见书)图图7-19 增加新闻增加新闻程序中,先检查是否有提交的新闻内容,如果没有提程序中,先检查是否有提交的新闻内容,如果没有提交,则显示用于如图交,则显示用于如图7-19所示的增加新闻表单页面;如果所示的增加新闻表单页面;如果有新闻内容,先通过下面的语句查询到表的最后一行记录,有新闻内容,先通过下

21、面的语句查询到表的最后一行记录,sql=select top 1 * from news order by id desc再通过下面的语句检查记录集是否为空。再通过下面的语句检查记录集是否为空。 if rs.eof and then如果没有找到合适的记录,则如果没有找到合适的记录,则rs.eof 和和rs.bof均为真,均为真,即记录指针同时指向记录集的第即记录指针同时指向记录集的第1条记录之前和最后一条条记录之前和最后一条记录之后,只有记录集为空时发生这种情况。如果记录集记录之后,只有记录集为空时发生这种情况。如果记录集为空则赋为空则赋id为为1,如果记录集不为空,如果记录集不为空,rs.e

22、of 和和rs.bof不同不同时为真,再通过下面的语句获取该记录的时为真,再通过下面的语句获取该记录的id,并将,并将id值加值加1后作为新增记录的后作为新增记录的id,这保证了记录,这保证了记录id的连续性。的连续性。id=rs(id)+1然后,再通过然后,再通过rs.addnew方法在记录集中增加一个新方法在记录集中增加一个新记录行,通过下面的语句对新记录行的字段进行赋值后再记录行,通过下面的语句对新记录行的字段进行赋值后再将记录集的修改更新到数据库。(见书)将记录集的修改更新到数据库。(见书)页面打开时,将提取页面打开时,将提取URL中传递过来的中传递过来的id值,如果值,如果没有这个参

23、数,则返回到没有这个参数,则返回到newsmanage.asp页面;如果有页面;如果有id,则执行下面的查询语句,提取符合的记录,将记录,则执行下面的查询语句,提取符合的记录,将记录中的和新闻标题和内容赋给表单元素显示在窗口中。中的和新闻标题和内容赋给表单元素显示在窗口中。sql=select * from news where id = &id如果用户取消修改,单击如果用户取消修改,单击“取消取消”按钮时,执行下按钮时,执行下面的语句返回到面的语句返回到newsmanage.asp页面。页面。onclick=parent.location.href=newsmanage.asp这行语句在用户

24、单击按钮(这行语句在用户单击按钮(click)时,通过链接)时,通过链接“parent.location.href=”跳转到跳转到newsmanage.asp指定指定的页面。的页面。当用户完成修改,单击当用户完成修改,单击“提交提交”按钮时,将通过过按钮时,将通过过程程btnsubmit_onclick对表单内容进行检查,然后提交到对表单内容进行检查,然后提交到newsupdate.asp文件进行处理。文件进行处理。newsupdate.asp文件用于保存用户的修改结果,其文件用于保存用户的修改结果,其内容如下:(见书)内容如下:(见书)图图7-20 修改新闻修改新闻上面的程序通过提交过来的参

25、数,查找要修改的记上面的程序通过提交过来的参数,查找要修改的记录,再对该记录进行更新(录,再对该记录进行更新(update)操作。程序中,会)操作。程序中,会看到下面的这行语句被注释了。看到下面的这行语句被注释了。rs.update admin,session(admin)语句中的语句中的session(admin)是在管理员登录时记录是在管理员登录时记录的,因为进行新闻维护需要有管理员权限,因此,在新的,因为进行新闻维护需要有管理员权限,因此,在新闻管理页面之前还有一个管理员的登录页面,在本案例闻管理页面之前还有一个管理员的登录页面,在本案例中被省略,将在后面的【案例中被省略,将在后面的【案

26、例35】中将创建该页面。由】中将创建该页面。由于没有于没有session(admin)值,所以这里暂时将其注释。值,所以这里暂时将其注释。这种通过注释语句以执行程序中的一部的方法在程序调这种通过注释语句以执行程序中的一部的方法在程序调试中非常有用。试中非常有用。如果在新闻管理页面中单击了如果在新闻管理页面中单击了“删除删除”链接,将提链接,将提交带有交带有id参数的参数的URL,跳转到删除新闻页面。删除新闻,跳转到删除新闻页面。删除新闻页面页面newsmodi.asp内容如下:(见书)内容如下:(见书)上面的程序中,首先查找符合上面的程序中,首先查找符合id的记录,找到后通的记录,找到后通过下

27、面的语句将其删除,并更新数据库。(见书)过下面的语句将其删除,并更新数据库。(见书)7.3.1 案例效果案例效果 图图7-21 后台管理系统后台管理系统7.3.2 案例实现案例实现 (见书)(见书)7.3.3 案例拓展案例拓展1. Command对象简介对象简介Command 对象定义了将对数据源执行的指定命令。对象定义了将对数据源执行的指定命令。使用使用Command对象,可以查询数据库并返回对象,可以查询数据库并返回 Recordset 对象中的记录,以便执行大量操作或处理数据库结构。对象中的记录,以便执行大量操作或处理数据库结构。Command对象的创建方式如下:对象的创建方式如下:Co

28、mmand对象是对数据存储执行命令的对象。与对象是对数据存储执行命令的对象。与Connection对象不同,对象不同,Connection对象在处理命令的功能对象在处理命令的功能上受到一定的限制,而上受到一定的限制,而Command对象是特别为处理命令对象是特别为处理命令的各方面问题而创建的。实际上,当从的各方面问题而创建的。实际上,当从Connection对象中对象中运行一条命令时,已经隐含地创建了一个运行一条命令时,已经隐含地创建了一个Command对象。对象。有时其他对象允许向有时其他对象允许向Command对象传入参数,但在对象传入参数,但在Connection对象中不能指定参数的任何

29、细节。对象中不能指定参数的任何细节。如果不想使用如果不想使用Command对象执行查询,请将查询字符对象执行查询,请将查询字符串传送给串传送给Connection对象的对象的Execute方法或方法或Recordset对象的对象的Open方法。但是,当需要使命令文本具有持久性并重新执方法。但是,当需要使命令文本具有持久性并重新执行它,或使用查询参数时,则必须使用行它,或使用查询参数时,则必须使用Command对象。对象。可以使用可以使用 Command 对象的集合、方法、属性进行各对象的集合、方法、属性进行各种数据操作,常用方式如下:(见书)种数据操作,常用方式如下:(见书)2. Comman

30、d对象常用方法对象常用方法(1)CreateParameter方法方法CreateParameter方法用于创建方法用于创建Command对象要使用对象要使用的新参数。使用格式如下:的新参数。使用格式如下:CreateParameter (Name , type , Direction , Size , Value )其中,其中,Name是新参数的名称。是新参数的名称。Type是该参数的数据是该参数的数据类型(表类型(表7-24列出了常用的数据类型),列出了常用的数据类型),Direction确定参确定参数是否为输入参数数是否为输入参数/输出参数(表输出参数(表7-25列出了可使用的列出了可使用的Direction值),值),Size是参数的最大长度,以字节或字符为是参数的最大长度,以字节或字符为单位,单位,Value是参数的值。(见书)是参数的值。(

温馨提示

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

评论

0/150

提交评论