第8章 数据库应用系统设计实例习题解答(2)

2020-02-21 18:36

conn.execute(sql) ********/执行添加操作

sql=\“学号”=\学号\conn.execute(sql) ********/执行删除操作

关闭数据对象和链接对象

在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用函数文件实现关闭,然后再释放它。

Function GetSQLServerRs( Computer, UserID, Password, Db, source, Cursor ) Dim conn, rs

On Error Resume Next Set GetSQLServerRs = Nothing

Set conn = GetSQLServerConnection( Computer, UserID, Password, Db ) If conn Is Nothing Then Exit Function

Set rs = Server.CreateObject(\ If Err.Number <> 0 Then Exit Function rs.Open source, conn, Cursor, 2 If Err.Number <> 0 Then Exit Function Set GetSQLServerRs = rs

End Function **********/关闭创建的数据对象及链接对象/*********

模块详解

登录分析:

<% if (Request(\ (request(\ response.write\请输入密码或用户名\else If Request(\

Set conn = GetSQLServerConnection( \

Set rs = GetSQLServerStaticRecordset(conn, \ ***/如果当学生用户输入相关登录身份时,连接数据库,并打开student表 /*** <% i=0

while not (rs.eof or i=1) ***/如果该身份在记录中存在,将获得的“id”传递给打开的记录集rs(2),

if rs(2)=request(\ 并且与该记录集中的“password”字段对应的内容做比较/*** if request(\ end if

rs.movenext

169

wend

if i=1 then

rs.moveprevious ***/如果用户名与密码相匹配,那么显示“id欢迎你的到来”/*** response.Write request(\

response.write \欢迎你的到来

\

session(\ ***/并且把rs(2)中对应的内容传递给对象(session(“id”)),

在下面页面跳转中该变量不会改变。/***

Else response.write\用户名错误或密码错误\ ***/否则登录失败/***

end if %>

开课情况与选课内容分析:

<% if rs2.eof<>true then

sql=\学号='\ set rs5 =server.CreateObject(\

rs5.open sql,conn,1,1 ***/根据学生登录身份,打开该学生的选课记录表/*** i=rs5.recordcount

if i>=5 then %> ***/判断记录集是否超过5条/***

<% else if rs3.eof=true then ***/否则,有权行选课操作。但需要有以下几个约束条件。

当前所选的课程号不能与记录集中的相同。/***

if date>=rs(2) then ***/当前选课时间要符合开课时间和结束选课时间的要求。

/***

if rs(0)

rs3.addnew ***/若满足以上几个约束条件,那么从rs(选课表)中获取相关课程 rs3(2)=rs2(0) 内容添加到rs3记录集中(学生选课记录表)。/*** rs3(1)=request(\课程号\ ……………. ……………. rs3(4)=rs2(4) rs3.update rs(0)=rs(0)+1 ***/在学生选课成功后,对于选课表中的“实招人数”一栏要做相 rs.update 应的修改。/*** response.write \选课成功
\ ***/然后,显示“选课成功”,并提示你已有几条选

170

response.write \你已选了\ 课记录。/*** response.Write\ response.write \门课
\ response.write \返回\ else %> <% end if else %> ***/否则一一提示没能成功选课的理由,让用户容易明白失败的原因,这在 script language=\ 代码中能直接反应,这里不做解释/*** MsgBox \对不起,该课程已报满!\ history.back() <% end if

Else %> <% end if Else

response.write \你已经选了这门课返\ end if end if end if %>

选课记录:

<% For i=0 to rs3.Fields.Count-1

Response.Write \ Next

while not rs3.eof ***/根据session(\的传递,在学生选课记录表中找出对应的

response.Write \ 记录集,并通过循环的方式在页面中显示数据库的内容:

response.Write rs3(0) 学生名,课程名,课程号,班级,系别等/*** …………………. …………………. ………………….

171

response.Write \ response.Write rs3(4)

response.Write \ %> rs3.movenext wend %>

学生报名管理: <%

dim stu stu=\student.学生名, class.课程名, student.班级,student.系别 FROM student

INNER JOIN grade ON student.学号 = grade.学号 INNER JOIN class ON grade.课程号 = class.课程号 WHERE class.任课老师='\ Set conn = GetSQLServerConnection( \ Set rs = GetSQLServerStaticRecordset(conn, stu) if rs.eof then response.write \华文行楷>\ response.Write \对不起暂时还没有学生选你的课程如有意见请跟管理员联系\ response.write \ else session(\%>

***/通过student表中的学号与grade表中的学号连接使得student表与grade表相连,同时grade表中的课程号与class表中的课程号连接使得grade表与class表相连。然后,又通过session的变量“teacher”传递登录教师名。打开符合上述几个条件的记录集,如果找不到与上述几条相符的记录集,那么显示“对不起暂时还没有学生选你的课程如有意见请跟管理员联系”/*** <%

For i=0 to rs.Fields.Count-1

Response.Write \ Next

Response.Write \【删除此学生】【打印】\ while not rs.eof response.Write \ ***/ 用循环的方式将对应的记集在页面中显示出来,并且在 response.Write rs(0) 每一条记录后增加【删除此学生】与【打印】的链接/*** ……………… ………………

172

response.Write rs(3) response.Write \ %> rs.movenext wend %>

【打印】

此功能本系统中巧妙的运用了ASP中调用word打印语句实现打印功能。这一设计简单又有效。 <%

dim stu

stu=\学生名, class.课程名, student.班级,student.系别 FROM student INNER JOIN grade ON student.学号 = grade.学号 INNER JOIN class ON grade.课程号 = class.课程号 WHERE class.任课老师='\

Set conn = GetSQLServerConnection( \Set rs = GetSQLServerStaticRecordset(conn, stu) %> <%

Response.ContentType =\

response.AddHeader \%>

***/通过用SQL内联语句找出符合打印的的记录集,然后调用ASP中通过连接word打印的语句准备打印。/*** <%

For i=0 to rs.Fields.Count-1

Response.Write \ Next while not rs.eof response.Write \ response.Write rs(0) ………………….. ***/在WORD页面中,通过用循环打印的方式,将符合条件的记录

………………….. 集打印出来/*** ………………….. response.Write \ %> <% rs.movenext wend

173


第8章 数据库应用系统设计实例习题解答(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:B4U5Reading课文解析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: