asp程序设计习题答案.docx
《asp程序设计习题答案.docx》由会员分享,可在线阅读,更多相关《asp程序设计习题答案.docx(19页珍藏版)》请在冰点文库上搜索。
![asp程序设计习题答案.docx](https://file1.bingdoc.com/fileroot1/2023-7/7/33caa5a9-7cb7-4cbb-8f28-eafb5683e975/33caa5a9-7cb7-4cbb-8f28-eafb5683e9751.gif)
asp程序设计习题答案
简答题
第1章概述P18
(1)名词解释
静态网页:
一般指用超文本标记语言HTML来实现,以htm或html做后缀名的网页文件,这些网页文本中不存在需要服务器段解释的代码;所有人阅读到的同一网页不会有任何区别。
动态网页:
所谓动态网页,就是服务器端能够按照客户端的不同请求动态产生网页内容。
它按照不同类型的客户端请求生成不同的页面,具有交互性。
动态网页是用标准html代码和动态语言(如:
asp,jsp,php,等)编写的。
服务器端:
在万维网中提供网页服务的一端称为服务器端。
客户端:
同意服务的一端称为客户端。
名称空间:
所谓名称空间就是将多个提供相似功能的类组成逻辑上相关的一些单元,以便于管理和记忆。
例如类包括了用来处置输入输出操作的类。
应用程序:
在同一台电脑上,添加了虚拟目录的文件夹就被当做一个独立的网站对待,那个独立的网站就成为一个应用程序。
所以用新建一个应用程序的时候,该软件会自动帮你生成一个文件夹,而且在IIS中添加相应的虚拟目录。
(1)请比较静态网页和动态网页的工作原理:
静态网页和动态网页在客户端看来是除发送请求是的后缀名外没有其它任何区别,主如果服务器端的区别。
静态网页服务器在接收了客户端的请求后直接读取相应的网页文件返回给客户端,而动态网页服务器在接收到了客户端发来的请求后先找到相应文件然后按照相应参数将文件编译成标准的html代码,在返回给客户端。
第2章程序设计基础P62
(2)有100个僧人吃100个馒头,大僧人1人吃4个,小僧人4人吃1个,问有多少个大僧人和多少个小僧人?
subpage_load()
dimm,n,big_monk,small_monkasinteger
="可能的组合是:
"
form=1to100
big_monk=m
small_monk=100-m
if4*big_monk+small_monk/=100then
+="大僧人:
"&big_monk&"个,小僧人"&small_monk&"个;
"
endif
next
endsub
第3章、服务器控件P98
3、普通的HTML标记、HTML服务器控件、Web服务器控件有什么联系和区别?
HTML服务器控件和WEB服务器控件都是从普通HTML进展过来的,只要给普通HTML代码添加id和runat=server属性就变成了HTML服务器控件,WEB服务器控件是提供的一套全新的控件,它的设计合理利用更简便,可是目前尚未和HTML完全一一对应。
推荐利用WEB服务器控件。
3、何时该利用HTML标记、HTML服务器控件、Web服务器控件?
在不需要和服务器端交互的程序中应该尽可能利用普通html代码,如此会减轻服务器负担,在需要交互时尽可能利用web服务器控件,实在没有可用的web服务器控件再考虑html控件。
第4章内部对象P136
4、请叙述response的write方式的两种写法的区别及注意事项。
write的两种写法:
<%(“string”)%>and<%=”string”%>.见:
P111
4、请将response的write方式与利用标签控件输出信息进行比较。
利用方式和label都能够输出信息,可是label相对比较容易控制输入的位置和格式。
建议用label。
4、请叙述redirect方式、execute方式、tranfer方式、超链接四者的联系和区别。
redirect虽然是在服务器端运行,可是重定向实际上发生在客户端,可是execute和transfer的重定向是发生在服务器端的;execute的重定向完毕后会返回本页面继续执行下面的程序,可是transfer则不;超链接则是纯粹的客户端行为。
4、请叙述Session对象和application对象各自的作用和最主要的区别。
session用来在不同的页面传递同一个人的信息,而application则在同一页面贮存不同用户的信息。
第5章:
数据库基础知识P153
五、请叙述为何要采用数据库来管理数据。
采用数据库来管理数据的理由:
数据库是目前最多利用的操作数据的方式,因为数据库用户再也不需要明白数据的具体寄存格式和方式,只要通过标准的数据查询语言来操作数据,如此的数据管理快速高效而且易于保留,备份和恢复。
没有理由仍是用前两种手腕来管理数据。
五、在insert语句中,可否为自动编号字段赋值,为何?
Insert语句中,不需要为自动编号字段赋值,因为数据库会自动进行。
第6章存取数据库P182
六、某数据库程序能够显示记录,但不能添加记录,请问可能是什么原因?
能够显示可是不能添加记录最可能的原因就是程序对数据库文件只有读权限可是没有写权限。
六、更新记录时可否先删除、再插入记录?
如此有什么缺点?
(提示:
自动编号字段的值可能会改变)
应该是“修改记录时可否……”;如此多做一步,服务器负担加重,而且用update能够只修改一项,可是先删除后添加就必修把每一项都添加了才能达到一样的效果,再者自动编号值会转变。
六、在查询记录的时候,若是只想显示部份字段的内容,应该怎么做?
若是只想显示部份记录,又该怎么做?
(提示:
参考第五章的SQL语句)
不要利用*,而利用select要查询的字段1,要查询的字段2from表where条件语句,就可以够只查询部份字段了,只想显示部份记录,只要控制好查询条件就好了,或在显示的时候做一下判断。
第7章深切进行数据库编程P235
7、如安在datagrid控件中加上验证控件?
能够利用TemplateColumn自概念列来给DataGrid添加控件验证功能。
7、如何用repeater控件虽更新和删除记录?
虽然Repeater组件不支持更新和查询,可是能够通过LINKBUTTON添加CommandName然后按照不同的Command进行最概念操作,这些操作固然能够包括更新和查询。
7、请比较DataGrid、DataList、Repeater控件的联系和区别?
DataGrid提供了最多的功能,如允许访问者对记录编辑、排序或分页。
同时它也是最容易利用的,乃至于简单到只需要将之添加到页面中而没必要额外编写代码。
不过这些易用性是以性能的损失为代价的。
DataGrid在三种控件中是效率最低的,专门是在利用WebForm的情形下。
通过利用模板,DataList提供了比DataGrid加倍优秀的界面效果。
不过这需要以捐躯必然的开发时刻为代价。
为了添加排序、分页和编辑功能,程序员不能不花费比利用DataGrid更多的精力来进行编码,虽然它的性能要优于DataGrid。
最后,Repeater允许对数据记录作最大限度的HTML定制。
通常,利用Repeater来显示数据记录比利用DataGrid和DataList要花费更长的开发时刻。
另外,它不支持内建的编辑、排序和分页功能。
所幸的是,Repeater在性能上要优于其它两种控件,专门是明显优于DataGrid。
第8章文件和文件夹操作P258
八、请比较file和fileinfo对象
比较file和fileinfo对象:
file对象能实现对整个文件的移动,删除等更改;而fileinfo对象只能显示出某文件的信息,不能更改。
八、请比较别离用application对象、数据库和文本文件实现计数器的好坏。
Application对象作计数器益处是方便快捷,可是会随着服务器的从头启动而清零;数据库能够记录很多登岸信息,不只是有几个人登岸,而且能够很方便的记录登岸时刻,IP等等信息,可是查询数据库会消耗过量资源;用文本文件能够很方便的查看,更改,不利的一面是不能记录太多的信息。
程序题
第三章服务器控件P98
3、请开发一个简单的计算器,输入两个数后能够求两个数的和、差等。
SubEnter_Click(senderAsObject,eAsEventArgs)
=false
dimi,jasinteger
dimmasstring
i=Cint
j=Cint
m=dimresultasinteger
ifm="+"then
result=i+j
else
result=i-j
endif
=i&m&j&"="&result&"!
"
EndSub
3、请综合利用本章教学的控件,开发一个个人注册页面。
要求输入用户名、用户姓名、密码、诞生日期、电话、E-mail等个人信息,并要求进行必要的验证。
如有可能,再加上提交个人照片栏目。
正确提交后,显示输入的有关信息。
subenter_click(senderasobject,easeventargs)
dimerror_1asexception
if=truethen
=false
'隐藏注册填写栏目,显示注册成功信息。
dimstrname,strpassword,stremail,strqq,strphone,strtextasstring
strname=
strpassword=
stremail=
strqq=
strtext=
'将信息存入数据库
try
dimconnasnewoledbconnection("provider=source=C:
\Inetpub\wwwroot\fuyude\data\")
dimstrsqlasstring
strsql="insertintousers(user_name,user_password,user_email,user_qq,user_text)values('"&strname&"','"&strpassword&"','"&stremail&"','"&strqq&"','"&strtext&"')"
dimcmdasnewoledbcommand(strsql,conn)
()
()
()
="
注册成功!
thanks,
从这里
登岸"catcherror_1
="您输入的用户名已经存在或在保留数据时发生了其它错误,请你从头输入,具体错误为:
"&()endtry
endif
endsub
3、请开发一个简单的在线考试程序,能够包括若干道单选题、多选题、单击交卷按钮后就可以够按照标准答案在线评分。
Subenter_click(ByValsenderAs,ByValeAs
DimdefenAsInteger
defen=0
If=2Then
defen+=20
EndIf
If=3Then
defen+=20
EndIf
If=0Then
defen+=20
EndIf
If(0).SelectedAnd
(1).SelectedAnd(Not
(2).Selected)And(Not(3).Selected)Then
defen+=20
EndIf
If(0).SelectedAnd
(1).SelectedAnd
(2).SelectedAnd(Not(3).Selected)Then
defen+=20
EndIf
="您得了"+()+"分!
"
EndSub
第四章内部对象P136
4、请开发一个页面,显示来访者的IP地址。
并判断:
若是IP地址以开头的,则显示欢迎信息;不然显示为非法用户,并终止程序。
subpage_load()
dimstrasstring
str=("remote_addr")
("您的ip地址为:
"&str&"
")
'概念一个数组来保留分割后的字符串
dimstr_splited()asstring
str_splited=(".")
ifstr_splited(0)="202"andstr_splited
(1)="118"then
("欢迎您的到来")
else
("未经允许的IP侵入")
endif
endsub
4、请在自己的个人主页上加上访问人数。
PrivateSubPage_Load(ByValsenderAs,ByValeAsHandles
'在此处放置初始化页的用户代码
()
Application("user_visit_num")+=1
()
DimvisitednumAsInteger
visitednum=Application("user_visit_num")
="您是第"++"位访客,welcome!
"
EndSub
第六章存取数据库P181
六、请参照示例开发一个简单的留言板程序,能够显示、添加和删除信息。
strSql="select*frominfo"
()
cmd=NewOleDbCommand(strSql,conn)
DimdrAsOleDbDataReader=()
Try
DoWhile()
+="留言者:
"+("author")+"留言内容:
"+("liuyan")+"("+("posttime").ToString+")"+"action=del&id="+("id").ToString+"'>删除留言
"
Loop
If=""Then
="暂时没有留言!
"
EndIf
CatchexAsException
="程序犯错"+
EndTry
()
EndSub
Subadd(ByValsenderAsObject,ByValeAs
'添加留言
Dim_author,_liuyanAsString
_author=_liuyan=IfNot_author=""AndNot_liuyan=""Then
strSql="insertintoinfo(author,liuyan)values('"+_author+"','"+_liuyan+"')"
()
cmd=NewOleDbCommand(strSql,conn)
()
()
EndIf
EndSub
六、请参照示例开发用户注册和登录模块。
IfSession("UserName")=""Then
="您尚未登岸,请选择注册或登岸"
Else
="欢迎您:
"+Session("UserName")
EndIf
EndSub
SubLogin(ByValsenderAs,ByValeAs
DimmynameAsString=
DimmypassAsString=
IfNotmyname=""AndNotmypass=""Then
=checkuser(myname,mypass)
If="ok"Then
Session("UserName")=myname
("")
EndIf
Else
="请填写完整的信息"
EndIf
EndSub
Functioncheckuser(ByValnAsString,ByValpAsString)AsString
DimconnAsNewOleDbConnection("Provider=Source="&(""))
DimstrSqlAsString="select*frommyuserswhereusername='"+n+"'anduserpasswd='"+p+"'"
()
DimcmdAsNewOleDbCommand(strSql,conn)
DimdrAsOleDbDataReader=()
If()Then
Return"ok"
Else
Return"信息犯错,请确认"
EndIf
()
EndFunction
Subreg(ByValsenderAs,ByValeAs
DimmynameAsString=
DimmypassAsString=
IfNotmyname=""AndNotmypass=""Then
=saveuser(myname,mypass)
If="ok"Then
Session("UserName")=myname
("")
EndIf
Else
="请填写完整的信息"
EndIf
EndSub
Functionsaveuser(ByValnAsString,ByValpAsString)AsString
DimconnAsNewOleDbConnection("Provider=Source="&(""))
DimstrSqlAsString="insertintomyusers(username,userpasswd)values('"+n+"','"+p+"')"
()
DimcmdAsNewOleDbCommand(strSql,conn)
Try
()
Return"ok"
CatchexAsException
Return"注册犯错,请联系管理员"+
EndTry
()
EndFunction
第七章深切进行数据库编程P235
7、请利用数据库在首页开发一个计数器。
PrivateSubPage_Load(ByValsenderAsObject,ByValeAsEventArgs)
'在此处放置初始化页的用户代码
If=FalseThen
'链接数据库读取并更新数据()
DimconnAsNewOleDbConnection("Provider=Source="&(""))
DimstrsqlAsString
strsql="select*frominfo"
DimcmdAsNewOleDbCommand(strsql,conn)
()
DimdrAsOleDbDataReader=()
()
=("visitednumber")
()
'strsql="updateinfo(visitednumber)values('"++1).ToString+"')"
strsql="updateinfosetvisitednumber="++1).ToString'+"whereid=1"
cmd=NewOleDbCommand(strsql,conn)
()
()
()
EndIfa
EndSub
第八章文件及文件夹操作P257
八、请开发一个故事接龙网页
SubPage_Load(ByValsenderAs,ByValeAsHandles
'在此处放置初始化页的用户代码
DimmyfileAsString=("")
DimswAsStreamWriter
DimsrAsStreamReader
If(myfile)=FalseThen
sw=NewStreamWriter(myfile,False,
()
="故事就从你开始..."
Else
sr=NewStreamReader(myfile,
=()
()
EndIf
EndSub
SubAddTheStory(ByValsenderAs,ByValeAs
DimaddwhatAsString
addwhat="
"+
DimmyfileAsString=("")
DimswAsNewStreamWriter(myfile,True,
(addwhat)
=""
()
("")
EndSub
八、请在自己的个人主页首页上添加计数器。
SubPage_Load(SenderAsObject,EAsEventArgs)
DimvisitNumberAsLong'概念计数器变量
DimmyfileAsString=("")'概念文件路径变量
DimswAsStreamWriter'声明StreamWriter对象变量
DimsrAsStreamReader'声明StreamReader对象变量
If(myfile)=FalseThen
'若是该文件不存在,就成立文件,并写入1。
sw=NewStreamWriter(myfile,False,
("1")'写入1
="您是第1位访客"
Else
'读取文本文件
sr=NewStreamReader(myfile,
visitNumber=CLng())'读取1行,并转化成长整型
'写入文本文件
sw=NewStreamWriter(myfile,False,
visitNumber=visitNumber+1'将总数加1
())'写入1行,覆盖原有数据
EndIF
="您是第"&visitNumber& "位访客"
EndSub
11
显示欢迎信息
15
显示来访信息
22
常量作用域
27
根据分数给出不同的提示信息
36
计算从1到100的平方和
42
求a到b的平方和
44
产生随机数示例
47
创建一个简单的类
48
使用property创建属性
49
类的