第3.4次作业答案
《网络编程技术》第3次作业一、填空题1、SQL 是结构化查询语言(Structured Query Language)的缩写,它包括查询、、操作和控制4个部分,是一种功能齐全的数据库语言。2、ODBC
《网络编程技术》第3次作业
一、填空题
1、SQL 是结构化查询语言(Structured Query Language)的缩写,它包括查询、、操作和控制4个部分,是一种功能齐全的数据库语言。
2、ODBC 数据来源分为、系统和3种。其中文件数据源是保存在一个特殊的文件中的,该文件的扩展名为.DSN 。
3、ADO 除了可用数据源来连接数据库外,还可通过和ODBC 链接字符串来实现对数据库的连接。
4、ADO 的3个核心对象是、、RecordSet 。
5、要创建ODBC 数据源,打开“控制面板”中的管理工具,在(ODBC)项目上双击来一步步实现。
6、为了建立与数据库连接,必须先调用连接对象的方法,才可以继续进行各种操作。
7、CLOSE 方法的作用主要是用以切断Connection 对象与数据库之间的链接通道。
8、记录分页显示时,Recordest 对象的属性确定记录集中包含多少页的记录,属性确定每页显示的记录数,AbsolutePage 属性确定当前记录位于哪一页上。
9、标示为和EOF 的特殊指针位置,分别代表记录集开始于结束的位置,这两个位置只是一个空值。
10、当指针已经移动至首记录时,使用可以达到记录集开始的位置,反之引用,可以将指标移到记录集结束的位置。
11、在使用INSERT 添加数据时,未设置的字段,添加数据时其默认值为。
12、Recordset 对象有两种方法可对记录进行更新,一种是用语句修改记录;另一种是用Recordset 对象的方法修改记录。
13、要更新数据库中的记录时游标类型应设置成。
14、如果用户在规定的时间内没有请求或刷新应用程序中的任何页,Session 对象就会自动终止。
15、对于一些脚本执行需时过长的特定页面,也可使用Server 对象的ScriptTimeOut 属性为其设定一个限制时间。
16、在ASP 中,用户可以利用其他功能完整的程序语言,运用Server 对象的CreateObject 方法,在网页中创建具备所需功能的程序对象。
17、数据可本身由多个数据表所组成,表中每一个行代表一个记录,每一列代表一个字段。
18、索引本身根据其功用可以分为两种,主索引(主键) 和。
19、FROM 指定SELECT 语句查询及与查询相关的表或视图。
20、建立Connection 对象是采用Server 对象的方法进行的。
21、Recordset 中的记录指针具有游标类型,它的默认值为adOpenForwardOnly 。
22、锁定类型是针对数据库操作中并发事件的发生而提出的系统安全控制方法。
23、Recordset 对象提供4个重要的数据浏览方法:MoveFirst 、和MoveNext ,,分别将当前的指针移到记录集的首记录、前一个记录、后一个记录和末记录。
24、Fields 集合的属性返回记录集中字段(Fields对象) 的个数,Item 方法用于建立某一个Field 对象。
25、ASP 程序在运行时有可能出现各种错误,这些错误可分为3类,即、运行错误和逻辑。
26、断点是在脚本中作了标记的位置,它在指定的脚本行暂停执行脚本。
27、为了能够在第一次调用脚本时中断执行,可以在脚本的可疑行之前插入一个语句。执行到
第<1>页 共<11>页
,该语句时,脚本会暂停执行。
28、自定义错误消息可为两种形式:即映射为或者映射为。
29、使用On Error Resume Next语句,所有的错误都会被忽略,程序会自动执行下一条语句。
30、在ASP 页顶部添加命令可声明事务脚本。
31、在记录集对象中,参数用来指定记录集对象的游标类型,LockType 参数用来指
定记录集对象的锁定类型。
32、添加数据记录有两种方法,一种是使用语句;另一种是使用RecordSet 对象的方法。 33、对记录的更新有两种方法,一种是用 语句修改记录,另一种是用RecordSet 对
象的方法修改记录。
34、记录集对象的Count 属性可返回记录集所包含的页数,每页的记录数有记录集的PageSize
属性指定。
35、记录集对象的RecordCount 属性可返回记录集对象所包含的记录个数。
36、记录集对象的ActiveConnection 属性可定义RecordSet 对象与数据库的连接。该属性或者
指向一个已打开的Connection 对象,或定义一个新的连接。
37、Command 对象的CommandText 属性可设置或返回对数据源的命令字符串。该命令字符串
可以是SQL 语句、表、存储过程或数据提供者支持的任何特殊有效的命令文本。
38、对SQL Server数据库进行操作,数据库名为:TestDB ,用户名为sa ,密码为xyz123,数据库
服务器名为ACT 或211.153.165.7,创建的数据源为TEST ,下列语句已创建Connection 对象
Set conn = Server.CreateObject("ADODB.Connection") 请按下列要求填空: A 、以数据源方式指定conn 对象的连接字符串 conn.ConnectionString = "DSN=TEST;UID=sa;PWD=xyz123;database=TestDB" B 、以OLEDB 方式指定conn 对象的连接字符串 conn.ConnectionString = C 、以ODBC 驱动程序方式指定conn 对象的连接字符串 conn.ConnectionString =
39、Connection 对象中,属性用来指定OLEDB 数据或数据提供者的名称。
属性用来指定Connection 对象使用Execute 方法的最长制定截止时间。属性用来指定连接状态。
40、对Access 数据库进行操作,数据库为当前站点目录data 目录中的Student.mdb ,创建的系统
数据源名称为:STUD 创建连接对象的语句为:
Set connStudent = Server.CreateObject("ADODB.Connection") 请按下列要求填空: A 、以ODBC 驱动程序方式指定connStudent 的连接字符串 connStudent.ConnectionString=B 、以OLEDB 方式指定connStudent 的连接字符串
connStudent.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data
C 、以数据源打开方式指定connStudent 的连接字符串
connStudent.ConnectionString = "DSN=STUD"
第<2>页 共<11>页
,二、选择题
1、在ASP 中,服务器响应用户请求,向客户端浏览输出信息,要使用( ) 对象来实现。
A、Request Response C、Server D、Session
2、服务器端要获得客户端所提交的表单数据,应使用( ) 对象来实现。
Request B.Submit C、Server D、Session
3、若表单提交的数据中包含着图象,或大数据量的文本,此时表单的提交方法应采用( ) 。
A、Get B、Submit C、 D、Reset
4、若表单提交时采用的是Get 方法,则服务器端要获得表单所提交的数据,应采用( ) 语句来实现。
A、Request.Form(“表单域名”)
C、Response.Form(“表单域名”) Request.QueryString(“表单域名 D、Response.QueryString(“表单域名”)
5、若要提交采用的是Post 方法,则服务器端要获得表单所提交的数据,应采用( ) 语句来实现。
A.Request.Form(“表单域名”) B.Request.QueryString(“表单域名”)
C.Response.Form(“表单域名”) D.Respons e.QueryString(“表单域名”)
6、服务器端向客户端输出”注册成功”,以下语句中,能实现该操作的是( ) 。
A.Request.Write ”注册成功” B.Request.write(“注册成功”)
Reponse.write ”注册成功” D.Response.write(“注册成功”)7、用于设置服务器响应HTTP 内容类型,应使用Response 对象的( ) 方法来实现。
.ContentT ype B .Expires C .Buffer D .Status
8、用于设置页面过期的时间为2分钟,以下语句用法中正确的是( ) 。
A .Request.Expires=2 .C .Request.ExpiresAbsolute=2 D .Response.ExpireAbsolute=2
9、在服务器端,若要将页面导航到index.asp ,应使用Response 对象的( ) 方法来实现。
A .herf B .Transfer .Redirect D .Flush
10、若要向客户端写入一个名为username 的Cookie ,其值为guest ,一周后过期,则以下实现语句中,正确的是( ) 。
A . Response.Cookies(“username”)=”guest”
Response.Cookies(“username”).Expires =DateAdd(“ww”,1,Date)
B . Response.Cookies(“username”)=”guest”
Response.Cookies(“username”) .Expires =DateAdd(“d”,1,Date)
. Response.Cookie(“username”)=”guest”Response.Cookie(“username”) .Expires =DateAdd(“ww”,1,Date)D . Response.Cookies(“username”)=”guest”
Response.Cookies(“username”) .Expires =DateAdd(1, “ww”, Date)
11、若要获得当前正在执行的脚本所在页面的虚拟路径,以下用法中正确的是( ) 。
.Request.ServerVariables(“SCRIPT_NAME”)B .Response.ServerVariables(“SCRIPT_NAME”)
C .Response.ServerVariables(“PATH_TRANSLATED”)
D .Response.ServerVariables(“PATH_TRANSLATED”)
12、若要获得客户端的IP 地址,应使用ServerVariables 方法,查询( ) 环境变量。
.REMOTE_ADDR B .REMOTE_HOST
C .LOCAL_ADDR D .PATH_INFO
13、若要设置服务器执行ASP 页面的最长时间为70秒,以下语句中正确的是( ) 。
A .Server .Timeout=70 B .Server .ScriptTimeOut=70000
第<3>页 共<11>页
,.Server .ScriptTimeOut=70 D .Server .Timeout=70000
14、在执行A 页面时,若要调用执行B 页面,B 页面执行完后,继续执行A 页面,则应通过Server 对象的( ) 方法来实行。
A .Transfer B .Redirect .Execute D .href
15、若要创建一个对于访问网站的所有用户均有效的变量passflag ,以下方法中正确的是( ) 。
A .Session(“passflag”)=0
C .Set Session(“passflag”)=0 .Application(“passflag”)=0D .public passflag
16、以下对Gloabal.asa 的说法中,错误的是( ) 。 A .该文件夹对于一个ASP 应用程序而言,是可选的
.该文件可放在站点的任意位置C .Session 和Application 对象的事件处理过程,必须放在该文件中,以便实现对相应事件的
捕获
D .该文件中也可用
17、若要将虚拟路径转换为真实的物理路径,以下语句中正确的是( ) 。
A .Response.MaPth(虚拟路径) B .Request.MapPath(虚拟路径)
C .Server .URLEncode(虚拟路径) .Server .MapPath(虚拟路径)
18、在ASP 中,创建对象通常用( ) 对象的CreateObject 方法来实现。
A .Request B .Object .Server D .Application
19、以下方法中,不是文件系统对象所提供的方法的是( ) 。
A .CopyFile B .MoveFile .DeleteFileq D .Copy
20、以下方法中,可返回Folder 对象的是( ) 。
A .Folder B . C .CreateFolder D .GetFile
21、若要获得指定文件夹的上一级文件夹的路径,可使用的方法是( ) 。
.GetParentFolderName
C .GetFolder B .GetParentFolder D .RootFolder
22、若要在GZ 表中,选出年龄在20至25岁的记录,则实现的SQL 语句为( ) 。
A .SELECT * FROM GZ WHERE年龄 BETWEEN 20,25
.SELECT * FROM GZ WHERE年龄 C .SELECT * FROM GZ WHERE年龄 BETWEEN 20 OR 25
D .SELECT * FROM GZ WHERE年龄 BETWEEN 20 AND 25
23、在GZ 表中选出职称为“工程师”的记录,并按年龄的降序排列,则实现的SQL 语句为( ) 。
A .SELECT * FROM GZ for 职称=工程师 ORDER BY 年龄/D
B .SELECT * FROM GZ WHERE职称=工程师 ORDER BY 年龄 DESC
.SELECT * FROM GZ WHERE职称=‟工程师‟ ORDER BY 年龄 DESC D .SELECT * FROM GZ WHERE职称=‟工程师‟ ORDER ON 年龄 DESC
24、在Logdat 表有UserID 、Name 、KeyWord3个字段,现要求向该表中插入一新记录,该新记录的数据分别为:Sgo003、李明、Jw9317,则实现该操作的SQL 语句为( ) 。
A .INSERT INTO logdat VALUES Sgo003,李明,jw9317
B .INSERT INTO logdat VALUES („Sgo003‟、‟李明‟、‟jw9317‟) C .INSERT INTO logdat (UserID,Name,KeyWord) VALUES „Sgo003‟,‟李明‟,‟jw931‟
.INSERT INTO logdat VALUES(„Sgo003‟,‟李明‟,‟jw9317‟)25、若要获得GZ 表中前10条记录的数据,则实现的SQL 语句为( ) 。
.SELECT TOP 10 B .SELECT next 10 FROM gz
C .SELECT * FROM gz WHERE rownum<=10
第<4>页 共<11>页
,D .SELECT * FROM gz WHERE Recno()<=10
26、在logdat 表中,将当前记录的KeyWord 字段修改为uk72hJ ,则实现的SQL 语句为( ) 。
A .UPDATE logdat SET KeyWord=uk72hJ
B .UPDATE SET KeyWord=uk72hJ
.UPDATE logdat SET KeyWord=‟uk72Hj‟D .Edit logdat SET KeyWord=uk72hJ
27、若要删除lagdat 表中UserId 号为Sgo012的记录,则实现的SQL 语句为( ) 。
A .Drop FROM lagdat WHERE UserID=‟Sgo012‟ B .Drop FROM lagdat WHERE UserID=Sgo012
.Dele FROM lagdat WHERE UserID=‟Sgo012‟D .Dele FROM lagdat WHERE UserID=‟Sgo012‟
28、以下连接对象的创建方法中,正确的是( ) 。
A .conn=CreateObject(“ADODB.connection”)
B .conn=Sever.CreateObject(“ADODB.connection”)
C .Set conn=Sever.CreateObject(ADODB.connection)
.Set conn=Sever.CreateObject(“ADODB.connection”)29、以下用法中正确的是( ) 。
A .RS=conn.Execute(“SELECT *FORM product”)
.Set RS=conn.Execute(“SELECT *FORM product”)C .Conn.Execute(“DELETE *FORM product WHERE ID=132”)
D .Conn.Ececute “DELETE *FORM product WHERE ID=132”
30、在记录集RS 中,可用于返回记录总数的语句是( ) 。
A .Num=RS.Count .Num=RS.RecordCount
C .Num=RS.Fields.Count D .Num=RS.PageCount
31、要获得记录集RS 中,当前记录的“产品型号”字段的值,该字段的顺序号为1,以下用法中,不正确的是( ) 。
A .fdvalue=RS(1)
.fdvalue=RS.Fields(“产品型号”)D .fdvalue=RS.Fields(产品型号).Value C .fdva lue=RS.(“产品型号”)
32、记录集对象RS 创建后,为使该记录集生效,应调用记录集对象的( ) 来打开记录集。
.Open B .Excute C .Close D .OpenRecordset
33、若要将记录指针定位到记录RS 的最后一条记录,则可使用( ) 方法来实现。
A .Move B .MoveNext C .MovePrevious .34、在分页显示时,用于指定每页记录数的属性是( ) 。
.PageSize B .PageCount C .CacheSize D .MaxRecords
35、可用于获得当前记录在记录集中的位置号的属性是( ) 。
A .AbsolutePage B .Recno C .AbsolutePosition
36、下面不属于Microsoft 脚本编辑器的主要功能有( )。 D .RecordCount
、编辑和修改服务器脚本B 、在服务器端脚本执行时,打开命令窗口监视变量、属性或数组元素的值
C 、在脚本的指定行设置断点以暂停执行服务器端脚本
D 、运行服务器端脚本时跟踪过程/函数
37、下面关于事务处理说法不正确的是( )。
A 、事务是整体成功或失败的操作
B 、大多数应用程序只有一些特定的操作需要事务环境
C 、Transaction Server决定事务是完全成功还是失败
第<5>页 共<11>页
,、事务可以跨越多个ASP 页38、下面关于事务提交说法正确的是( )。 A 、调用SetComplete 方法意味着事务被提交
、仅当脚本调用的所有事务性组件都调用SetComplete 方法时,事务才提交C 、大多数情况下脚本内部不可缺少对SetComplete 方法的调用
D 、提交事务时将触发OnAbort 事件
39、锁定类型是针对数据库操作中并发事件的发生而提出的系统安全控制方式,在打开记录集之前,将记录集rs 的锁定类型设置为保守式锁定的语句是( )
A 、rs.LockType = adLockReadOnly 、rs.LockType = adLockPessimistic
c 、rs.LockT ype = adLockOptimistic D 、rs.LockT ype = adLockBatchOptimistic
)。 40、游标类型代表不同的数据获取方法,将记录集rs 的游标类型设置为键集的语句是(
A 、rs.CursorType = adOpenForwardOnly B 、C 、rs.CursorT ype = adOpenDynamic
三、编程题:
1、已知一个学生注册界面如下所示: D 、rs.CursorT

ype = adOpenStatic
图1 注册表单 学生注册数据库为:

STUDENT .MDB ,数据表 studentReg 结构如下:
图2 StudentReg表的结构 A 、请安装上面显示的界面编写一个网页名为“register.html ”,可提交用户输入的数据
第<6>页 共<11>页
,B 、编写一个名为“receive.asp ”的注册程序,将register .html 表单提交的数据以记录方式插入到表studentReg 中。要求如下: 1)按图1界面中的红色文字要求在receiver .asp 中完成数据合法检查,若不合法则编写
error .asp ,在error .asp 中显示出错信息。
第<7>页 共<11>页

2)若指定的学号在表中已存在,则显示出错信息,否则完成记录插入。
第<8>页 共<11>页

2、根据图2的数据表和下面的界面图3,编写一个“login.asp ”,当用户输入合法的学号和密码后,在“success.asp ”中显示学生的学号和密码,并显示“登录成功”信息,否则在第1题编写的“error .asp ”中显示出错信息。

图3 学生登录界面login.asp
第<9>页 共<11>页

四、问答题
1、OLE DB有哪两层结构,它有什么优势?
OLE DB 又为数据提供方简化了服务功能它只需按OLEDB 规范编写一个COM 组件程序即可。OLE DB两层结构的优势。第<10>页 共<11>页

