已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章 ASP操作SQL Server数据库 内容提要 n本章主要介绍SQL Server2000的基本使用, 介绍SQL Server2000集成开发环境的使用 n介绍如何在SQL Server2000中使用查询分析 器建立数据库和数据库表,以及如何使用ADO 操作数据库表。重点介绍如何使用ADO操作 SQL Server2000的存储过程。 SQL Server概述与安装 nMicrosoft SQL Server2000是为当前的分布式客户机 服务器环境特别设计的产品,SQL Server数据库能够 轻松通过Internet和内部网络加以访问。SQL Server提 供一系列方法将数据填充到Web服务器,同时提供对 数据的快捷访问。 n它是一个可伸缩、高性能的数据库管理系统,具备内 置的复制能力、Internet集成、开放系统体系结构及强 大的基于GUI的管理工具。它的一个独特功能是基于服 务器的作业调度系统,允许直观地控制多个服务器和 远程操作。这极大地增强了数据库的性能和可靠性。 与Access相比较 n与Access相比较,它具有更好的应用特征,如 下所示。 n(1)支持企业级运算、支持C/S模型、更好的性能 和更方便的操作。 n(2)功能增强:海量数据存储、数据复制、数据 转换服务、分布式事务和全文检索。 n(3)支持多种协议(TCP/IP、NETBEUI)和支持 分布式计算,支持分布式计算模型。 n(4)ANSI/92标准兼容并进行T-SQL(Transact SQL,事务SQL语言)的增强。 SQL Server的安装 n总的来说,安装SQL Server 2000比较简单。但是其 中有一些小的细节需要明确,不然可能会影响使用 。放入SQL Server 2000的安装盘,第一步:选择安 装“SQL Server 2000组件”,如图7-1所示。 测试ASP+SQL Server的开发平台 n利用7-01.asp文件来测试该开发平台。先 要装上SQL Server数据库。 n按照上面的安装步骤并将SQL Server启 动,不用对SQL Server做任何的设置。 SQL Server的集成环境介绍 nSQL Server2000提供强大的GUI(Graphic User Interface,图形用户接口)界面,用户 可以直接通过界面或者通过T-SQL语句操作 数据库。 n常用的图形界面包括:SQL Server服务管理 器、企业管理器、查询分析器、事件查看器 和联机帮助,等等。 SQL服务管理器 n当成功安装SQL Server服务器端程序以后,打开菜单 选项,找到Microsoft SQL Server下的服务管理器, 单 击“开始/继续”旁边的绿色三角按钮,启动服务器,如 图7-11所示。 企业管理器 n企业管理器是图形化管理界面的核心。在“开 始”菜单中选择“企业管理器”,打开企业管理器 ,如图7-13所示。 查询分析器 n选择“开始”菜单中的“查询分析器”,出现 登录对话框,如图7-14所示。 事件探查器 n选择菜单中的“事件查看器”,然后选择“事件查看器”菜 单的“文件新建跟踪”。输入用户名和密码以后, 就可以看到“查询分析器”对话框。如图7-16所示。 联机帮助 n平时编写程序或者编写SQL Server的T-SQL语句时,最 常用的就是联机丛书。选择“开始”菜单中的“联机丛书” ,可以查找自己需要帮助的主题。如图7-17所示。 创建数据库 n一般数据库文件包括数据文件和日志文 件,可以利用企业管理器创建,也可以 利用SQL语句创建。 n创建一个数据文件、一个日志文件的基 本语法,如程序7-02.sql所示。 创建多数据数据库 n注意:1、在查询分析中,当有语句被选 中的时候,将执行被选中的部分。如果 没有语句被选中,则全部执行。2、SQL 语句不区分大小写。 n可以创建多数据文件和多日志文件的数 据库,如程序7-03.sql所示 删除数据库 n删除数据库的关键词是:DROP DATABASE。比如要删除名为TEST1的数 据库,可以利用语句“DROP DATABASE TEST1”。 n不要轻易删除数据库,否则将导致所有 数据完全丢失! SQL Server提供的数据类型 数 据 类 型描 述需 要 空 间 Binary固定长度的二进制数据,最大长度为8000字节0到8000字节 Char固定长度的非Unicode字符数据,最大长度为8000个字符0到8000字节 Datetime日期和时间数据8字节 Int整型数据,从231到23114个字节 Money货币数据值,从263到26318字节 Smallint整型数据,从215到21512字节 Varchar可变长度的非Unicode数据,最大长度为2311个字符 存储大小是输入数据的实 际长度 Uniqueidentifier 存储作为全局惟一标识(GUID)的16字节的二进制数值。 GUID是确保惟一性的二进制数字 16字节 创建数据库表 n对表的命名约定有4条: n(1)可以包含1到128个字符,包括字母、 符号和数字。 n(2)第一个字符必须是字母、下划线(_) 、符号。 n(3)首字母之后的字符可以包括字母、数 字或#、$符号及其_。 n(4)除非在引号内定义对象名称,否则不 允许有空格。 创建数据库表 n使用“企业管理器”或使用“Create Table”语句创建表。 n使用语句创建表如程序7-04.sql所示。 修改表结构 n修改表是指修改表的结构,增加或者减 少列,比如要在myTable中增加一列 MySistName,属性是CHAR(20) n如程序7-05.sql所示。 删除数据库表 n使用“企业管理器”或者用Drop Table语句 删除SQL Server中的表。语法:“Drop Table table_name” n比如删除MyTable表,利用语句“Drop Table MyTable”。 数据完整性 n一旦创建并填充完数据库,应确保存储数据的可靠 性,这对于任何企业都很关键。因此必须在设计数 据库的时候考虑数据完整性。 n数据完整性指数据库中存储数据的一致性。常规数 据库管理系统需要在每个应用程序中编码实现数据 完整性逻辑。实现数据完整型利用三种方法。 n(1)使用Identity属性。 n(2)使用Uniqueidentifier数据类型和NEWID()函数。 n(3)使用六大约束。 使用Identity属性 n定义Identity列的语法如下: nIdentity (Seed, Increment) n参数Seed(种子)指定Identity列的初始值。参数Increment 指定每次自动增加多少。Seed和Increment参数是可选的,如 果没有指定,则两个参数都默认为1。 n创建一个Student表,其中的StudID列具有Identity属性,Seed 值为101,Increment的值为5,如程序7-07.sql所示。 使用Uniqueidentifier类型 n可以使用Uniqueidentifier数据类型和NEWID() 函数来生成列的惟一值。 n如果创建的列是Uniqueidentifier类型,需使用 NEWID()函数为该列生成新值。利用Create table来创建Uniqueidentifier列, n如程序7-08.sql所示。 使用六大约束 n对表强制执行完整性的最常用方法是使用 约束,限制表或列中的值。约束有六种 n分别是: n主键约束(Primary Key)、外键约束( Foreign key)、惟一约束(Unique)、非空 约束(Not Null)、检查约束(Check)和默 认约束(Default)。 1. 主键约束 n主键约束具有3个特性:(1)一个表中只可 定义一个主键。(2)不能在主键列中输入 null 值和重复的值。(3)最多可定义16列 作为主键。 n创建一个新的STUDENT_PRI表,并将表的 StudID列设置为主键,如程序7-09.sql所示 。 2. 外键约束 n外键(Foreign key)约束定义列值与另一个表的主键相匹配 。使用外键时应该注意:Foreign key 约束必须引用另一个 表的主键列或者Unique列。 n下面创建两个表,并且建立两张表的外键关系。一个是学生 的基本信息表,另一个是学员档案历史表。学生的基本信息 是基本固定的,学员每学习完一年就升学到高年级学习,这 样,一个学员可能对应多条历史记录。有这样的一个关系, 所有历史表中的学员一定在基本信息表中可以找到,因为学 员总是先注册然后上课学习的。外键约束就是要实现这样的 约束关系。如程序7-10.sql所示。 3. 惟一约束 n在列中应用Unique约束是为了确保列中不输入 重复的值。 n使用Unique约束应该注意:Unique约束的列可 以出现一个空值的行,只要不重复就不违反约 束。 n下面的案例向Student表中的TelNo列添加 Unique约束。如程序7-11.sql所示。 4. 非空约束 n如果一个列被附加了非空约束,该列就 不能为空值。 n每次插入数据时必须插入数据,如程序7 -12.sql所示。 5. 检查约束 nCheck约束根据指定值测试列中的输入值。 每次在列中插入或更新数据时都需要进行这 一测试。 n如程序7-13.sql所示。 6. 默认约束 nDefault约束用于在用户未提供列值的情况下,提供 一个自动添加的列值。testDefault表中的Sex列被添 加Default约束,默认值为“M” n如程序7-14.sql所示。 ADO操作SQL Server数据库 n首先建立SQL Server的数据库表。在 pubs数据库中建立一个grade数据表 n语句如程序7-15.sql所示。 格式一的SQL Server版本 n格式一:数据库调用的基本格式 n格式说明:利用Execute方法建立RecordSet对象 n n第一步:建立Connection对象 nset conn = Server.CreateObject(“ADODB.Connection“) n第二步:使用Connection对象的Open方法建立数据库连接 nconn.Open(“driver=SQL Server;database=数据库名;server=服务器 名;uid=sa;pwd=“) n第三步:使用Connection对象的Execute方法执行SQL语句 n如果执行查询语句 nset rs = conn.Execute( “数据查询语句“ ) n如果执行数据操纵语句 nconn.Execute( “数据操纵语句“ ) 连接SQL Server并输出记录 n改写程序6-04.asp,连接SQL Server数据 库,把pubs数据库中grade数据表显示出 来。 n如程序7-17.asp所示 格式二的SQL Server版本 n格式二:数据库调用的基本格式 n格式说明:利用RecordSet对象打开数据库表 n n第一步:建立Connection对象 nset conn = Server.CreateObject(“ADODB.Connection“) n第二步:使用Connection对象的Open方法建立数据库连接 nconn.Open(“driver=SQL Server;database=数据库名;server= 服务器名;uid=sa; pwd=“) n第三步:建立RecordSet对象 nset rs = Server.CreateObject(“ADODB.Recordset“) n第四步:利用RecordSet对象的Open方法打开数据库 nrs.Open “SQL语句“, conn, 打开方式, 锁定方式 案例7-1 分页显示的SQL Server版本 n下面将分页显示版本五pageV5.asp文件 改成SQL Server版本 n让程序连接SQL Server数据库pubs,并 将grade表分页显示出来,如程序 pageV5.asp所示。 格式三的SQL Server版本 n格式三:数据库调用的基本格式 n格式说明:利用Command对象的Execute方法建立RecordSet对象 n n第一步:建立Connection对象 nset conn = Server.CreateObject(“ADODB.Connection“) n第二步:使用Connection对象的Open方法建立数据库连接 nconn.Open(“driver=SQL Server;database=数据库名;server=服务器名;uid=sa; pwd=“) n第三步:建立Command对象 nset cmd = Server.CreateObject(“ADODB.Command“) ncmd.ActiveConnection = conn ncmd.CommandText = sql n第四步:使用Command对象的Execute方法执行SQL语句 n如果执行查询语句 nset rs = cmd.Execute() n如果执行数据操纵语句 ncmd.Execute() SQL Server存储过程 n存储过程对任何数据库来说都是非常重要的 。 n数据库开发人员和数据库管理员会经常编写 自己的存储过程,以便运行一般的管理任务 或者应用复杂的业务规则。 n这些类型的过程中可以包括流程控制结构、 数据更改或者数据检索语句及错误处理语句 。 存储过程的概念 n存储过程是SQL语句和控制流语句的预编 译集合,以一个名称存储并作为一个单 元处理。 n存储过程存储在数据库内,可由应用程 序调用执行,而且允许用户声明变量和 使用控制语句。 创建SQL Server存储过程 n使用Create Procedure关键字创建存储过 程。 n程序7-20.sql创建了一个带三个输入参数 的存储过程,三个输入参数都含有默认 值。 存储过程 n其中的关键字“PROCEDURE”可以简写成 “PROC”。该存储过程包含三个输入参数, 而且三个参数都有默认值。 n如果在调用存储过程的时候没有给参数,就用 默认值。存储过程创建完以后可以在查询分析 器中调用。 n如程序7-21.sql所示。 输入输出参数 n存储过程可以带输入输出参数,利用下面的存储过 程来说明如何同时使用输入和输出参数,该存储过 程十分常用,可以用来做密码验证。 n首先创建用户表,如程序7-25.sql所示。 n这个表为下面的存储过程提供了支持。如程序7-26.sql创 建的带输入输出参数的存储过程。 n存储过程创建成功后,利用程序7-27.sql来测试存储过程 。 n ADO操作SQL Server存储过程 nSQL存储过程执行起来比SQL命令文本快得 多。当一个SQL语句包含在存储过程中时, 服务器不必在每次执行它时都要分析和编 译它。 n可以在多个网页中调用同一个存储过程, 使站点易于维护。 调用无输入输出参数存储过程 n利用Command 对象来执行一个现有的SQL Server 的存储过程 n在安装的SQL Server时,自带一个测试用的pubs 数据库,里面有几个存储过程。打开SQL Server 的数据库,里面有一个叫pubs的库,pubs库里面 有一个叫Stored procedure的选项,打开有一个 叫RepTq1的存储过程 调用带输入输出参数的存储过程 n上节中只是调用了一个没有输入输出参 数的存储过程,如何在调用存储过程的 时候使用输入输出参数? n如下所示,程序7-30.asp调用了7.6.2小 节中的存储过程“sp_CheckPass”。 案例7-2 通讯录 n通讯录的功能是保存手机号码、E-mail号码、住宅电话等常用的 联系信息,并提供录入的界面增加用户,实现信息的分页显示, 每页显示一个人的信息。 n为了实现这些功能,首先编写SQL脚本,如程序txl.sql所示。 n通讯录包含以下三个文件。 n(1)index.asp:通讯录的首页,实现分页显示。 n(2)do_add.asp:通讯录的信息录入界面。 n(3)do_addsumit.asp:处理录入界面的数据,并保存到数据库中。 小结 n本章在第6章的基础上继续介绍使用ADO操作 数据库。本章需要掌握如何在SQL Server系 统建立数据库和数据库表。 n熟练掌握保持数据库完整性方法、三种操作 SQL Server数据库的格式和操作Access数据 库的差异、如何建立和调用SQL Server存储 过程、如何利用ADO调用存储过程。 本章习题 n一、选择题 n1. 和Access数据库相比,SQL Server数据库具有那些优点_。 nA)支持企业级运算、支持C/S模型、更好的性能和更方便的操作。 nB)功能增强:海量数据存储、数据复制、数据转换服务、分布
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脑胶质瘤综合治疗策略
- 胸部松弛护理方法
- 2025版风湿病症状解析与生活护理建议
- 2025版脑血栓常见征象及护理要点培训
- 口腔科固位营养管护理规范
- 静脉留置针的宣教
- 综合实践小小服装设计师
- 不随便告状行为规范
- 癌症术后健康宣教
- 膀胱功能训练
- 铜精矿海外采购合同范本
- 销售仪表仪态培训课件
- 5.3 友善待人(教学设计) 统编版道德与法治 八年级上册
- 生产线扩建与升级计划
- 泥浆概述课件
- 2025年国际交流处招聘面试必-备问题与答案清单
- 施工现场施工管理培训课件
- 2025-2030礼品包装行业知识产权保护与品牌维权策略分析报告
- 2024年高级卫生专业技术资格考试(副高)内科学(副高)考试试题及答案
- 供应链风险评估与管理流程表
- 《互联网平台企业涉税信息报送规定》知识解读
评论
0/150
提交评论