asp程序设计习题答案.doc

上传人:wux****ua 文档编号:9603765 上传时间:2020-04-06 格式:DOC 页数:12 大小:137KB
返回 下载 相关 举报
asp程序设计习题答案.doc_第1页
第1页 / 共12页
asp程序设计习题答案.doc_第2页
第2页 / 共12页
asp程序设计习题答案.doc_第3页
第3页 / 共12页
点击查看更多>>
资源描述
简答题第1章 ASP.NET概述 P18(1)名词解释静态网页:一般指用超文本标记语言HTML来实现,以htm或html做后缀名的网页文件,这些网页文本中不存在需要服务器段解释的代码;所有人浏览到的同一网页不会有任何区别。动态网页:所谓动态网页,就是服务器端可以根据客户端的不同请求动态产生网页内容。它根据不同类型的客户端请求生成不同的页面,具有交互性。动态网页是用标准html代码和动态语言(如:asp,jsp,php,asp.net等)编写的。服务器端:在万维网中提供网页服务的一端称为服务器端。客户端:接受服务的一端称为客户端。名称空间:所谓名称空间就是将多个提供相似功能的类组成逻辑上相关的一些单元,以便于管理和记忆。例如system.io类包含了用来处理输入输出操作的类。应用程序:在同一台电脑上,添加了虚拟目录的文件夹就被当成一个独立的网站对待,这个独立的网站就成为一个应用程序。所以用asp.net新建一个应用程序的时候,该软件会自动帮你生成一个文件夹,并且在IIS中添加相应的虚拟目录。(1)请比较静态网页和动态网页的工作原理:静态网页和动态网页在客户端看来是除了发送请求是的后缀名外没有其它任何区别,主要是服务器端的区别。静态网页服务器在接收了客户端的请求后直接读取相应的网页文件返回给客户端,而动态网页服务器在接收到了客户端发来的请求后先找到相应文件然后根据相应参数将文件编译成标准的html代码,在返回给客户端。第2章 VB.NET程序设计基础 P62(2)有100个和尚吃100个馒头,大和尚1人吃4个,小和尚4人吃1个,问有多少个大和尚和多少个小和尚? sub page_load() dim m,n,big_monk,small_monk as integer message.text=可能的组合是: for m=1 to 100 big_monk=m small_monk=100-m if 4*big_monk+small_monk/4.0=100 then message.text+=大和尚: & big_monk & 个,小和尚 & small_monk & 个; end if next end sub第3章、服务器控件 P983、普通的HTML标记、HTML服务器控件、Web服务器控件有什么联系和区别? HTML服务器控件和WEB服务器控件都是从普通HTML发展过来的,只要给普通HTML代码添加id和runat=server属性就变成了HTML服务器控件,WEB服务器控件是.net提供的一套全新的控件,它的设计合理使用更简便,但是目前还没有和HTML完全一一对应。推荐使用WEB服务器控件。3、 什么时候该使用HTML标记、HTML服务器控件、Web服务器控件? 在不需要和服务器端交互的程序中应该尽量使用普通html代码,这样会减轻服务器负担,在需要交互时尽量使用web服务器控件,实在没有可用的web服务器控件再考虑html控件。第4章 内部对象P1364、请叙述response的write方法的两种写法的区别及注意事项。 write的两种写法: and .见:P1114、请将response的write方法与利用标签控件输出信息进行比较。利用response.write方法和label都可以输出信息,但是label相对比较容易控制输入的位置和格式。建议用label。4、请叙述redirect方法、execute方法、tranfer方法、超链接四者的联系和区别。 redirect虽然是在服务器端运行,但是重定向实际上发生在客户端,但是execute和transfer的重定向是发生在服务器端的;execute的重定向完毕后会返回本页面继续执行下面的程序,但是transfer则不;超链接则是纯粹的客户端行为。4、请叙述Session对象和application对象各自的作用和最主要的区别。 session用来在不同的页面传递同一个人的信息,而application则在同一页面储存不同用户的信息。第5章:数据库基础知识 P1535、请叙述为什么要采用数据库来管理数据。 采用数据库来管理数据的理由:数据库是目前最多使用的操作数据的方法,因为数据库用户不再需要知道数据的具体存放格式和方法,只要通过标准的数据查询语言来操作数据,这样的数据管理快速高效而且易于保存,备份和恢复。没有理由还是用前两种手段来管理数据。5、在insert语句中,能否为自动编号字段赋值,为什么? Insert语句中,不需要为自动编号字段赋值,因为数据库会自动进行。第6章 ASP.NET存取数据库 P1826、某数据库程序可以显示记录,但不能添加记录,请问可能是什么原因? 可以显示但是不能添加记录最可能的原因就是程序对数据库文件只有读权限但是没有写权限。6、更新记录时可否先删除、再插入记录?这样有什么缺点?(提示:自动编号字段的值可能会改变) 应该是“修改记录时可否”;这样多做一步,服务器负担加重,而且用update可以只修改一项,但是先删除后添加就必修把每一项都添加了才能达到同样的效果,再者自动编号值会变化。6、在查询记录的时候,如果只想显示部分字段的内容,应该怎么做?如果只想显示部分记录,又该怎么做?(提示:参考第五章的SQL语句) 不要使用*,而使用 select 要查询的字段1,要查询的字段2 from 表 where 条件语句,就可以只查询部分字段了,只想显示部分记录,只要控制好查询条件就行了,或者在显示的时候做一下判断。第7章 深入进行数据库编程 P2357、如何在datagrid控件中加上验证控件? 可以使用TemplateColumn自定义列来给DataGrid添加控件验证功能。7、如何用repeater控件虽更新和删除记录? 虽然Repeater组件不支持更新和查询,但是可以通过LINKBUTTON添加CommandName 然后根据不同的Command 进行最定义操作,这些操作当然可以包括更新和查询。7、请比较 DataGrid、DataList、Repeater控件的联系和区别?DataGrid提供了最多的功能,如允许访问者对记录编辑、排序或分页。同时它也是最容易使用的,甚至于简单到只需要将之添加到页面中而不必额外编写代码。不过这些易用性是以性能的损失为代价的。DataGrid在三种控件中是效率最低的,特别是在使用Web Form的情况下。 通过使用模板,DataList提供了比DataGrid更加优秀的界面效果。不过这需要以牺牲一定的开发时间为代价。为了添加排序、分页和编辑功能,程序员不得不花费比使用DataGrid更多的精力来进行编码,虽然它的性能要优于DataGrid。 最后,Repeater允许对数据记录作最大限度的HTML定制。通常,使用Repeater来显示数据记录比使用DataGrid和DataList要耗费更长的开发时间。另外,它不支持内建的编辑、排序和分页功能。所幸的是,Repeater在性能上要优于其它两种控件,特别是明显优于DataGrid。第8章 文件和文件夹操作 P2588、请比较file 和fileinfo对象 比较file和fileinfo对象:file对象能实现对整个文件的移动,删除等更改;而fileinfo对象只能显示出某文件的信息,不能更改。8、请比较分别用application对象、数据库和文本文件实现计数器的优劣。 Application对象作计数器好处是方便快捷,但是会随着服务器的重新启动而清零;数据库可以记录很多登陆信息,不只是有几个人登陆,而且可以很方便的记录登陆时间,IP等等信息,但是查询数据库会消耗过多资源;用文本文件可以很方便的查看,更改,不利的一面是不能记录太多的信息。程序题第三章 服务器控件 P983、请开发一个简单的计算器,输入两个数后可以求两个数的和、差等。Sub Enter_Click(sender As Object, e As EventArgs) all.visible=falsedim i,j as integerdim m as stringi=Cint(num1.text)j=Cint(num2.text)m=sign.selecteditem.textdim result as integerif m=+ then result=i+jelse result=i-jend ifmessage.text=i & m & j & = & result &! End Sub3、请综合使用本章讲授的控件,开发一个个人注册页面。要求输入用户名、用户姓名、密码、出生日期、电话、E-mail等个人信息,并要求进行必要的验证。如有可能,再加上提交个人照片栏目。正确提交后,显示输入的有关信息。 sub enter_click(sender as object,e as eventargs) dim error_1 as exception if page.isvalid=true then registerform.visible=false 隐藏注册填写栏目,显示注册成功信息。 dim strname,strpassword,stremail,strqq,strphone,strtext as string strname=username.text strpassword=userpassword.text stremail=useremail.text strqq=userqq.text strtext=usertext.text 将信息存入数据库 try dim conn as new oledbconnection(provider=microsoft.jet.oledb.4.0;data source=C:Inetpubwwwrootfuyudedatainfo.mdb) dim strsql as string strsql=insert into users (user_name,user_password,user_email,user_qq,user_text) values( & strname & , & strpassword & , & stremail & , & strqq & , & strtext & ) dim cmd as new oledbcommand(strsql,conn) conn.open() cmd.ExecuteNonQuery() conn.close() message.text=注册成功!thanks,从这里登陆 catch error_1 message.text=您输入的用户名已经存在 或者在保存数据时发生了其它错误,请你重新输入,具体错误为: & error_1.tostring() end try end ifend sub 3、请开发一个简单的在线考试程序,可以包括若干道单选题、多选题、单击交卷按钮后就可以根据标准答案在线评分。Sub enter_click(ByVal sender As System.Object, ByVal e As System.EventArgs)Dim defen As Integerdefen = 0If danxuan1.SelectedIndex = 2 Thendefen += 20End IfIf danxuan2.SelectedIndex = 3 Thendefen += 20End IfIf danxuan3.SelectedIndex = 0 Thendefen += 20End IfIf duoxuan1.Items(0).Selected And duoxuan1.Items(1).Selected And (Not duoxuan1.Items(2).Selected) And (Not duoxuan1.Items(3).Selected) Thendefen += 20End IfIf duoxuan2.Items(0).Selected And duoxuan2.Items(1).Selected And duoxuan2.Items(2).Selected And (Not duoxuan1.Items(3).Selected) Thendefen += 20End Iffenshu.Text = 您得了 + defen.ToString() + 分!End Sub第四章 内部对象 P1364、请开发一个页面,显示来访者的IP地址。并判断:如果IP地址以202.118开头的,则显示欢迎信息;否则显示为非法用户,并终止程序。sub page_load()dim str as stringstr=request.servervariables(remote_addr)response.write(您的ip地址为: & str & )定义一个数组来保存分割后的字符串dim str_splited() as stringstr_splited=str.split(.)if str_splited(0)=202 and str_splited(1)=118 then response.write(欢迎您的到来)else response.write(未经允许的IP侵入)end if end sub 4、请在自己的个人主页上加上访问人数。Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load在此处放置初始化页的用户代码Application.Lock()Application(user_visit_num) += 1Application.UnLock()Dim visitednum As Integervisitednum = Application(user_visit_num)message.Text = 您是第 + visitednum.ToString + 位访客,welcome!End Sub第六章 ASP.NET存取数据库 P1816、请参照示例开发一个简单的留言板程序,可以显示、添加和删除信息。 strSql = select * from info conn.Open() cmd = New OleDbCommand(strSql, conn) Dim dr As OleDbDataReader = cmd.ExecuteReader() Try Do While dr.Read() liuyan.Text += 留言者: + dr.Item(author) + 留言内容: + dr.Item(liuyan) + ( + dr.Item(posttime).ToString + ) + 删除留言 Loop If liuyan.Text = Then liuyan.Text = 暂时没有留言! End If Catch ex As Exception liuyan.Text = 程序出错 + ex.Message End Try conn.Close() End Sub Sub add(ByVal sender As Object, ByVal e As System.EventArgs) 添加留言 Dim _author, _liuyan As String _author = author.Text.ToString _liuyan = addliuyan.Text.ToString If Not _author = And Not _liuyan = Then strSql = insert into info (author,liuyan) values ( + _author + , + _liuyan + ) conn.Open() cmd = New OleDbCommand(strSql, conn) cmd.ExecuteNonQuery() conn.Close() End If End Sub6、请参照示例开发用户注册和登录模块。 If Session(UserName) = Then welcome.Text = 您还没有登陆,请选择注册或者登陆 Else welcome.Text = 欢迎您: + Session(UserName) End If End SubSub Login(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim myname As String = _myName.Text Dim mypass As String = _myPasswd.Text If Not myname = And Not mypass = Then message.Text = checkuser(myname, mypass) If message.Text = ok Then Session(UserName) = myname Response.Redirect(default.aspx) End If Else message.Text = 请填写完整的信息 End If End Sub Function checkuser(ByVal n As String, ByVal p As String) As String Dim conn As New OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & Server.MapPath(myuser.mdb) Dim strSql As String = select * from myusers where username= + n + and userpasswd= + p + conn.Open() Dim cmd As New OleDbCommand(strSql, conn) Dim dr As OleDbDataReader = cmd.ExecuteReader() If dr.Read() Then Return ok Else Return 信息出错,请确认 End If conn.Close() End Function Sub reg(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim myname As String = _myName.Text Dim mypass As String = _myPasswd.Text If Not myname = And Not mypass = Then message.Text = saveuser(myname, mypass) If message.Text = ok Then Session(UserName) = myname Response.Redirect(default.aspx) End If Else message.Text = 请填写完整的信息 End If End Sub Function saveuser(ByVal n As String, ByVal p As String) As String Dim conn As New OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & Server.MapPath(myuser.mdb) Dim strSql As String = insert into myusers(username,userpasswd) values ( + n + , + p + ) conn.Open() Dim cmd As New OleDbCommand(strSql, conn) Try cmd.ExecuteNonQuery() Return ok Catch ex As Exception Return 注册出错,请联系管理员 + ex.ToString End Try conn.Close() End Function第七章 深入进行数据库编程 P2357、请利用数据库在首页开发一个计数器。Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) 在此处放置初始化页的用户代码 If Page.IsPostBack = False Then 链接数据库 读取并更新数据() Dim conn As New OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & Server.MapPath(log.mdb) Dim strsql As String strsql = select * from info Dim cmd As New OleDbCommand(strsql, conn) conn.Open() Dim dr As OleDbDataReader = cmd.ExecuteReader() dr.Read() message.Text = dr.Item(visitednumber) conn.Close() strsql = update info(visitednumber) values( + (message.Text + 1).ToString + ) strsql = update info set visitednumber = + (message.Text + 1).ToString + where id=1 cmd = New OleDbCommand(strsql, conn) conn.Open() cmd.ExecuteNonQuery() conn.Close() End Ifa End Sub第八章 文件及文件夹操作 P2578、请开发一个故事接龙网页Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 在此处放置初始化页的用户代码 Dim myfile As String = Server.MapPath(story.txt) Dim sw As StreamWriter Dim sr As StreamReader If File.Exists(myfile) = False Then sw = New StreamWriter(myfile, False, Encoding.Default) sw.Close() story.Text = 故事就从你开始. Else sr = New StreamReader(myfile, Encoding.Default) story.Text = sr.ReadToEnd() sr.Close() End If End Sub Sub AddTheStory(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim addwhat As String addwhat = + addstory.Text Dim myfile As String = Server.MapPath(story.txt) Dim sw As New StreamWriter(myfile, True, Encoding.Default) sw.Write(addwhat) addstory.Text = sw.Close() Response.Redirect(1.aspx) End Sub8、请在自己的个人主页首页上添加计数器。Sub Page_Load(Sender As Object, E As EventArgs)Dim visitNumber As Long 定义计数器变量Dim myfile As String=Server.Mappath(counter2.txt) 定义文件路径变量Dim sw As StreamWriter 声明StreamWriter对象变量Dim sr As StreamReader 声明StreamReader对象变量If File.Exists(myfile)=False Then如果该文件不存在,就建立文件,并写入1。sw=New StreamWriter(myfile,False,Encoding.Default)sw.Writeline(1) 写入1 sw.Closemessage.Text=您是第1位访客 Else读取文本文件sr=New StreamReader(myfile,Encoding.Default)visitNumber=CLng(sr.ReadLine() 读取1行,并转化成长整型sr.Close 写入文本文件sw=New StreamWriter(myfile,False,Encoding.Default) visitNumber=visitNumber+1 将总数加1sw.Writeline(visitNumber.Tostring() 写入1行,覆盖原有数据sw.CloseEnd IFmessage.Text=您是第 & visitNumber &位访客 End Sub目录11显示欢迎信息15显示来访信息22常量作用域27根据分数给出不同的提示信息36计算从1到100的平方和42求a到b的平方和44产生随机数示例47创建一个简单的类48使用property创建属性49类的继承51重写方法52共享属性53构造函数61错误处理65控件的属性、事件、和方法示例71填写个人信息73文件上传示例80填写个人信息83广告信息文件83广告控件示例84日历控件示例88验证控件综合示例91用户控件示例92调用用户控件93用户控件示例94调用用户控件95autopostback属性示例96数据绑定示例96动态产生控件97对控件应用样式101ispostback示例103准备传送信息104显示得到的信息106显示来访者IP107输出客户端浏览器的一些特性109利用write方法输出信息111利用response.redirect重定向至另一个页面115显示客户是第几次光临本站118存入session信息118读取session信息120存储人名信息到数组120读取session数组信息123框架网页主文件123保存发言信息124读取发言信息127显示HTML语句128显示文件的物理路径130重定向到新的文件130显示信息133发送email示例158显示数据库的记录160插入记录161更新记录162删除记录164利用datagrid控件显示数据库的记录166利用datagrid控件显示数据库的记录167插入记录170更新记录173删除记录175index首页综合示例179add插入记录页面185分页显示数据186对数据进行排序188自己定制列190链接到详细页192详细页面194自定义列198利用datagrid控件查询记录200选择记录示例203更新和删除记录示例207利用repeater控件查询记录209利用repeater控件选择记录212使用参数的SQL语句215对多个表进行删除操作218存取SQL Server 数据库220手工建立只有一个表的dataset对象239显示文件及文件夹信息241文件的复制、移动和删除243显示指定文件夹下的子文件夹和子文件名称247新建和写入文本文件249计数器示例254文件管理器首页
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!