收藏 分销(赏)

基于ASP的远程教学选课、退课功能的设计与实现.docx

上传人:精**** 文档编号:3583557 上传时间:2024-07-10 格式:DOCX 页数:10 大小:12.14KB 下载积分:8 金币
下载 相关 举报
基于ASP的远程教学选课、退课功能的设计与实现.docx_第1页
第1页 / 共10页
基于ASP的远程教学选课、退课功能的设计与实现.docx_第2页
第2页 / 共10页


点击查看更多>>
资源描述
基于ASP的远程教学选课、退课功能的设计与实现   摘要 结合远程教学系统开发的经历,介绍了如何利用ASP技术实现网上选课、退课功能。关键词 ASP;远程教学;选课;退课;Oracle1 引言ASP是“Active Server Pages”的简写,即“动态服务器网页”,是一种被广泛用于创建动态网页的功能强大的服务器端脚本语言。笔者参与的是邮政远程教学系统项目开发,本系统采用Windows Server,WEB服务采用/,与后台数据库采用ODBC连接,使用ASP技术实现系统的动态页面效果。该系统主要针对邮政职工的在职远程学习、远程技术讨论和交流,并为业务管理提供支撑服务。远程教学网站将开设许多业务课、技术课供学员学习,因此学员可以自由的选择一些课程来学习。下面主要介绍本系统网上选课、退课的流程设计及如何利用ASP技术实现功能。2 远程教学系统概述现代远程教育是随着现代信息技术的发展而产生的一种新型教育方式,是构筑知识经济时代人们终身学习体系的主要手段。远程教学是邮政继续教育的一个有效途径。邮政远程教学系统可以及时把邮政新技术、新业务放在网上交流探讨,网上学员可以随时随地学习、提高,一定程度上可以减轻脱产短期培训给企业造成费用支出的压力。本系统总体上定位为“基于Web的开放式多媒体远程教学系统”。这一类远程教学系统主要为窄带、非实时的应用系统,它采用WEB服务器和数据库服务器作为远程教育网的服务器,用户在接入因特网的计算机上,通过浏览器连到教学系统的WEB服务器上,完成教学内容的浏览、课件下载、实时答疑等各项学习活动。同样,教师也通过浏览器以教师身份登录到WEB服务器上实施教学和答疑。系统采用目前流行的Web应用的三层B/S瘦客户体系结构,即数据层、功能层、表示层。3学员学习流程首先学员通过网络浏览远程教学网页,根据自己的需要选择不同的专业、课程,在学员将学习课程所需要的费用交纳后即可以通过该网站进行学员注册,学员输入个人的相关信息并注册成功后就成为了远程教育网的正式学员,从而可以将自己所选择的课程课件下载学习。为了解决学员在学习过程中遇到的问题,教学网安排老师在网上进行辅导,学员可以通过发E-mail询问,也可以登录教学网站的交流室与其他学生或辅导老师进行讨论,或访问课程问题集锦,发表自己的问题、查看问题的答案。在学员学习完成后,如顺利通过相应考试即可结业,并且可以通过远程教育网查询成绩。 3选课、退课功能概要设计目标:为登录远程教学系统的学员提供选择学习课程的功能,要根据学员的交费情况判断课程是否可选。输入:本人资金余额,可选课程清单。加工:⑴ 学员类型、权限,禁止非法客户操作。⑵ 帐户表中查出本人帐户资金余额,若为零则禁止。⑶ 从学员选课表中,查出并显示该学员已选课程。⑷ 列出目前网站可供该学员选择的课程(该学员的已选课程出外),以及每门课程的具体信息,包括课程开课时间、任课教师、学时、费用及简单的内容介绍。⑸ 接收用户选课、退课操作,如开课时间未到,学员可以把已选课程退掉,及退课。也可将新课程选中,即选课。根据员的操作,系统随时计算、显示该学员的资金余额,并随时刷新该学员已选课程列表和可选课程列表。⑹ 选课操作过程中,计算学员‘资金余额-所选课程费用’的值,该值小于零,则选择无效、操作失败;若大于等于零,经用户确认后保存,同时把该值记入账户信息表,形成新的资金余额;退课操作完成之前,计算学员‘资金余额+所退课程费用’的值,并把该值记入账户信息表,形成新的资金余额。⑺ 在学员选课表中添加或注销记录,资金余额写入帐户信息表,资金增减明细写入资金明细表。输出:选课结果,费用明细,资金余额的更新。4选课、退课功能程序实现⑴ 选课、退课功能的实现主要采用了ORACLE数据库访问的ADO技术,ADO是ASP技术的核心之一,它集中体现了ASP技术丰富而灵活的数据库访问功能。⑵ 将学员已选课程列表显示、可选课程列表显示与选课操作的处理写成了一个应用程序,这样通过多次调用应用程序本身,可以随时刷新这两个课程列表及资金余额显示。⑶ 将学员已选课程列表显示、可选课程列表显示与退课操作的处理写成了一个应用程序,这样通过多次调用应用程序本身,可以随时刷新这两个课程列表及资金余额显示。下面以选课功能的源程序为例:选课功能部分源代码:% id=cstr(session("id")) set cn=("") cnstr=application("oleconn") cnstr na=("username") sqls="select suplus,class_no from account where account_no=‘"&session("id")&"‘" set rss=(sqls)‘取出用户的余额 su=cint(rss("suplus")) classno=trim(rss("class_no"))‘以下是用户提交选课操作的处理if request("ch")="yy" then‘先判断用户的资金剩余情况 if sucint(request("suplus")) then "" end if ‘再判断用户是否选过此课 sql="select count(*) from fstudent_lesson where account_no=‘"_ &id&"‘ and lesson_id=‘"&request("lessonid")&"‘" set rs=(sql) rnum=cint(rs(0)) set rs=nothing ‘如果用户没有选过此课,则可以选课if rnum=0 then ye=cint(request("suplus")) ‘向选课表写入一条记录 sql="insert into fstudent_lesson"_ &"(account_no,lesson_id,completed,lesson_name,selected_time) values(‘"_ &id&"‘,‘"&request("lessonid")&"‘,‘n‘,‘"&request("lessonname")&"‘,sysdate)" ‘修改资金余额   sql1="update account set suplus="&ye&" where account_no=‘"&id&"‘" ‘写用户的费用明细流水sql2="insert into fee"_ &"(account_no,money,opreate_time,suplus,remark) values(‘"_ &id&"‘,"&request("lessonfee")&",sysdate,"&ye&",‘选课‘)" sql2 sql sql1 end if‘显示学员的新选课表及新的可选课程列表,即刷新页面显示 ""else‘如用户未提交选课 sqls="select suplus from account where account_no=‘"&id&"‘" set rss=(sqls) su=cint(rss("suplus"))‘显示用户已选课程列表sql="select _time,b.* from fstudent_lesson a,lesson b "_ &"where _id=_id and _no=‘"&session("id")&"‘"set rs=(sql) "h3font color=#006699姓名:"&na "       你的资金余额为:"&su&"元!/font    font color=#339933/h3/h3" "pfont color=#009966已选的课程列表:/font" "table cellspacing=0 cellPadding=0 bordercolor=#009966 border=1 align=center bordercolorlight=009966 bordercolordark=#FFFFFF" "tr align=center bgcolor=#cccccctd课程编号/tdtd课程名/tdtd学时/tdtd学分/tdtd费用/tdtd开课时间/tdtd结课时间/tdtd选课时间/td/tr" do while not … loop "/table/p" end if "pfont color=#009966可选的课程列表:/font"//判断用户是否选过课if then sql2="select * from lesson a ,teacher_lesson b "_ &"where _id=_id and _no=‘"&classno&"‘" set rs2=(sql2) //判断是否有允许选的课程 if then "font color=red无/fontbr" else "table cellspacing=0 cellPadding=0 bordercolor=blue border=1 align=center bordercolorlight=blue bordercolordark=#FFFFFF" "tr align=center bgcolor=#cccccc"_ &"td课程编号/tdtd课程名/tdtd学时/tdtd学分/td"_ &"td费用/tdtd开课时间/tdtd截课时间/tdtd操作/td/tr" do while not "tr align=centertd"_ &rs2("lesson_id")&"/tdtd"_ &rs2("lesson_name")&"/tdtd"_ &rs2("period")&"/tdtd"_ &rs2("credit")&"/tdtd"_ &rs2("lesson_fee")&"/tdtd"_ &rs2("start_time")&"/tdtd"_ &rs2("end_time")&"/td" fy=cint(rs2("lesson_fee")) fy1=su-cint(rs2("lesson_fee")) if fy10 then "td align=centerimg src=images“ title=‘资金不足,你无法选择此课程!‘ align=absmiddle height=25/td/tr" else//资金足可以选此课,带着数据链接到本程序文件,即回到前面用户提交选课操作的处理 "tda href=?ch=yy&suplus="_ &fy1&"&lessonfee="&trim(rs2("lesson_fee"))&"&lessonid="_ &rs2("lesson_id")&"img src=images“"_ &" title=‘你可以选择此课程!‘ align=absmiddle height=25/td/tr" end if  loop "/table/p" end if //用户已经选过课 else sql1="select b.* from teacher_lesson a,lesson b where _no=‘"_ &classno&"‘ and _id=_id and _id not in"_ &"(select lesson_id from fstudent_lesson where account_no=‘"&session("id")&"‘)" set rs1=(sql1)//判断用户是否还有未选的课程 …5结束语 以上是笔者利用ASP技术开发邮政远程教学系统的选课、退课功能的设计与程序实现。程序实现比较巧妙,实现了页面信息的随时更新,但程序结构稍显复杂,有待于进一步做程序优化工作。参考文献:[1] 《挑战asp与网页数据库设计》邓文渊,陈惠贞,陈俊华编着 中国铁路出版社 《ASP动态网页设计》赵增敏编着 电子工业出版社 《ASP数据库系统开发实例导航》宣小平等编着 人民邮电出版社
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服