免费获取|
论文天下网
  • 论文天下网 |
  • 原创毕业论文 |
  • 论文范文 |
  • 论文下载 |
  • 计算机论文 |
  • 论文降重 |
  • 毕业论文 |
  • 外文翻译 |
  • 免费论文 |
  • 开题报告 |
  • 心得体会 |

当前位置:论文天下网 -> 免费论文 -> 计算机论文

asp酒店房间预约系统设计(二)

>
            <tr class="text">
              <td><div align="left"><%= rs_room("room_id") %></div></td>
              <td><div align="left"><%= rs_room("name") %></div></td>
              <td><div align="left"><%= rs_room("type") %></div></td>
              <td><div align="left"><%= rs_room("cost") %></div></td>
              <td>
      <div align="left">
       [<a href="<%= delurl %>">删除</a>]
     [<a href="<%= editurl %>">修改</a>]
    </div>
   </td>
            </tr>
   <%   
    rs_room.movenext
    wend
   %>
删除房间
 当酒店因为某种原因不能提供预约时,管理员可以将该房间从数据库中删除,删除功能的实现是文件del.asp来实现的,程序清单14是实现删除功能的代码。

图15删除房间成功页面
程序清单14  删除房间实现代码
<%
dim room_id,sql,rs_del
room_id=request("room_id")
if room_id="" then response.Redirect("error.asp")
set rs_del=server.CreateObject("adodb.recordset")
sql = "delete from room where room_id=" & room_id
rs_del.open sql,hotel_conn,3,2
%>
当管理员成功删除指定房间后会显示删除成功界面,如图15所示。
修改房间信息
 修改房间信息的功能是修改存在于数据库中的房间信息,包括房间名称、房间类型和费用,但是不能修改房间ID。
修改房间信息功能有admin_edit.asp和admin_editchk.asp两个文件来完成。第一个文件用来接受管理员填写的更新信息,第二个用来检查数据并写入数据库中。图16所示是填写房间信息表单的页面。

图16 修改房间信息
程序清单15  修改房间信息核心代码admin_editchk.asp
<%
   dim err(4)
   dim room_id,room_name,room_type,cost,haveerr,rs_edit,sql
   room_id=request.Form("room_id")
   room_name=request.Form("name")
   room_type=request.Form("type")
   cost=request.Form("cost")
   if len(room_name) > 30 then err(1)="房间名称不能超过30个字符"
   if len(room_name) < 2 then err(1)="房间名称不能少于2个字符"
   if not IsNumeric(cost) then err(2)="费用必须是数字"
   if room_type="" then err(3)="房间类型不能位为空"
   if len(cost) >4 then err(4)="费用不能多于4位数"
   for i=1 to 4
    if err(i)<>"" then haveerr=1
   next
    If haveerr = 0 Then
    set rs_edit=server.CreateObject("adodb.recordset")
    sql = "select * from room where room_id=" & room_id
    rs_edit.open sql,hotel_conn,3,2
    rs_edit("name")=room_name
    rs_edit("type")=room_type
    rs_edit("cost")=cost
    rs_edit.update
    %>
4.添加房间模块
 该功能模块的实现是由文件admin_addnew.asp完成的。添加房间的页面如图17所示。其实实现代码比较简单就不再详细论述。

当管理员正确提交了要添加新房间的信息后就会出现如图18所示的成功提示,该功能是由文件admin_addnewchk.asp完成的,其实现代码见程序清单16

图17 添加新房间
程序清单16 添加房间页面关键代码admin_addnewchk.asp
<%
   dim err(3)
   dim haveerr,room_name,room_type,cost,i
   dim rs_add,sql
   room_name=request.Form("name")
   room_type=request.Form("type")
   cost=request.Form("cost")
   if len(room_name) > 30 then err(1)="房间名称不能超过30个字符"
   if len(room_name) < 2 then err(1)="房间名称不能少于2个字符"
   if not IsNumeric(cost) then err(2)="费用必须是数字"
   if len(cost) >4 then err(3)="费用不能多于4位数"
      for i=1 to 3
    if err(i)<>"" then haveerr=1
   next
     If haveerr=0 Then
        set rs_add=server.CreateObject("adodb.recordset")
    sql = "select * from room"
    rs_add.open sql,hotel_conn,3,2
    rs_add.addnew
    rs_add("name")=room_name
    rs_add("room_id")=room_name
    rs_add("type")=room_type
    rs_add("cost")=cost
    rs_add.update
    %>
<%
      for i=1 to 3
     if err(i) <> "" then response.Write("●" & err(i) & "<br>")
      next
     %>
<% End If %>
<%
set rs_add=nothing
%>
5.预约管理模块
 预约管理模块包括确认预约和删除预约两部分,确认预约是指在用户已经对指定的预约付款后,管理员在预约数据库中将对应的预约信息修改为为已付款操作;删除预约用于在数据库预约表中出现错误预约或恶意预约后,由管理员强制将其删除。
确认预约页面
 酒店房间预约系统规定,用户不能取消已经付款的预约,因为这些预约已经被认为是有效预约。同样,管理员不能删除已经付款的预约。预约列表界面是确认预约页面的一部分,它将为管理员显示所有为付款的预约,并提供“确认预约”和“删除”超链接。
 图19所示是显示预约列表页面,图20所示是预约确认成功提示信息页面,它们的实现都由文件admin_chk.asp完成,它们的实现代码见程序清单17
 
 图19  预约列表
 
 图20 预约确认
 程序清单17 确认预约功能核心代码admin_chk.asp
 <%
    dim preengage_id,rs_preengage,sql,rs_room,datetime
    preengage_id=request("preengage_id")
    set rs_preengage=server.CreateObject("adodb.recordset")
      If preengage_id="" Then
     sql = "select * from preengage where paid = 0"
     rs_preengage.open sql,hotel_conn,3,2
     rs_preengage.movefirst
     %>
     <br>
           <table width="584" border="0" class="table_small">
             <tr>
               <td colspan="6">&nbsp;</td>
             </tr>
             <tr>
               <td colspan="6" class="text_title"><div align="left">预约确认</div></td>
             </tr>
             <tr>
               <td colspan="6" class="table_title">&nbsp;</td>
             </tr>
             <tr class="text">
               <td width="86"><div align="left">预约用户</div></td>
               <td width="125" class="text"><div align="left">房间名称</div></td>
               <td width="89"><div align="left">预约日期</div></td>
               <td width="89"><div align="left">预约时间</div></td>
               <td width="61"><div align="left">费用</div></td>
               <td width="104"><div align="left">操作</div></td>
             </tr>
    <%
     while (not rs_preengage.eof)
    %>
             <tr class="text">
               <td><div align="left"><%= rs_preengage("user_name") %></div></td>
               <td class="text">
        <div align="left">
          <%
     set rs_room=server.CreateObject("adodb.recordset")
     sql = "select * from room where room_id=" & rs_preengage("room_id")
     rs_room.open sql,hotel_conn,3,2
     response.Write(rs_room("name"))
     rs_room.close
      %>
          </div></td>
               <td><div align="left"><%= rs_preengage("pyear") & "-" & rs_preengage("pmonth") & "-" & rs_preengage("pday") %></div></td>
               <td><div align="left"><%= rs_preengage("beginhour") & ":00-" & (rs_preengage("beginhour")+1) & ":00" %></div></td>
               <td><div align="left"><%= rs_preengage("cost") %></div></td>
               <td><div align="left">[<a href="admin_chk.asp?preengage_id=<%= rs_preengage("preengage_id") %>">确认预约</a>][<a href="chkcancel.asp?preengage_id=<%= rs_preengage("preengage_id") %>">删除</a>]</div></td>
             </tr>
    <%
     rs_preengage.movenext
     wend
    %>
             <tr>
               <td colspan="6">&nbsp;</td>
             </tr>
             <tr>
               <td colspan="6">&nbsp;</td>
             </tr>
           </table>
           <%
      Else
     '已提交preengage_id数据,开始更新预约表preengage的paid字段---------
     sql = "select * from preengage where preengage_id=" & preengage_id
     rs_preengage.open sql,hotel_conn,3,2
     rs_preengage("paid")=1
     rs_preengage.update
     datetime= rs_preengage("pyear") & "-" & rs_preengage("pmonth") & "-" & rs_preengage("pday")
     datetime=datetime & " " & rs_preengage("beginhour") & ":00-" & (rs_preengage("beginhour")+1) & ":00"
     %>
     <br>
           <table width="488" border="0" class="table_small">
             <tr>
               <td>&nbsp;</td>
             </tr>
             <tr>
               <td class="text_title"><div align="left">预约确认成功</div></td>
             </tr>
             <tr>
               <td class="table_title">&nbsp;</td>
             </tr>
             <tr>
               <td class="text"><div align="left">成功确认ID为<%= rs_preengage("preengage_id") %>的预约,它是在<%= datetime %>的预约,费用为<%= rs_preengage("cost") %>元</div></td>
             </tr>
             <tr>
               <td>&nbsp;</td>
             </tr>
           </table>
           <% End If %>
删除预约页面
  图21所示是删除页面成功的提示信息。该功能的实现是由文件chkcancel.asp完成的,在用户面取消预约模块中还会看到该文件的出现,它们的实现都是由该文件完成的。详细代码见程序清单18

程序清单18 删除和取消预约功能的实现chkcancel.asp
<%
dim preengage_id,rs_cancel,rs_del,delok
preengage_id=request("preengage_id")
if preengage_id="" then
 response.Redirect("error.asp")
 response.End()
end if
if session("user_name")="" and session("admin_name")="" then
 response.Redirect("error.asp")
 response.End()
end if
set rs_cancel=server.CreateObject("adodb.recordset")
sql = "select *  from preengage where preengage_id=" & preengage_id
if session("user_name") <> "" then
 sql = sql & "and user_name = '" & session("user_name") &"'"
end if
rs_cancel.open sql,hotel_conn,3,2
if rs_cancel.eof or rs_cancel.bof then
 response.Redirect("error.asp")
 response.End()
end if
if datediff("h",now,rs_cancel("pyear") & "-" & rs_cancel("pmonth") & "-" & rs_cancel("pday") & " " & rs_cancel("beginhour") & ":00:00") > 24 then
 rs_cancel.close
 set rs_del=server.CreateObject("adodb.recordset")
 sql = "delete from preengage where preengage_id=" & preengage_id
 rs_del.open sql,hotel_conn,3,2
 delok=1
else
 delok=0
end if
%>
6.统计模块
 统计模块的功能分为用户统计和预约统计两部分,主要是方便管理员对该酒店运行合理管理。这些功能的实现都是由文件admin_total.asp完成的,请参考程序清单19
程序清单19  统计功能实现核心代码admin_total.asp
<%
set rs_preengage=server.CreateObject("adodb.recordset")
sql = "select count(*) as total from preengage "
rs_preengage.open sql,hotel_conn,3,2
preengage_total=rs_preengage("total")
rs_preengage.close
sql = "select count(*) as total from preengage where paid =1 "
rs_preengage.open sql,hotel_conn,3,2
preengage_paid=rs_preengage("total")
rs_preengage.close
preengage_notpaid = preengage_total - preengage_paid
sql = "select sum(cost) as total from preengage  where paid =1"
rs_preengage.open sql,hotel_conn,3,2
money = rs_preengage("total")
rs_preengage.close
sql = "select sum(cost) as total from preengage  where paid =0"
rs_preengage.open sql,hotel_conn,3,2
notmoney =rs_preengage("total")
rs_preengage.close
Set rs_user = Server.CreateObject("ADODB.Recordset")
sql = "select count(*) as male from user_reg where sex = '男'"
rs_user.Open sql,hotel_conn,3,2
rs_user_male = rs_user("male")
rs_user.close
sql = "select count(*) as female from user_reg where sex = '女'"
rs_user.Open sql,hotel_conn,3,2
rs_user_female = rs_user("female")
rs_user.close
rs_user_total = rs_user_male + rs_user_female
%>
 用户统计实现了统计用户总数和计算男女用户比例的功能,其界面如图22所示。预约统计实现了对预约总数、已付款预约数、实际收入和未付清预约款的统计功能,如图23所示。

图5-22 预约统计

图23 用户统计
第七章、.用户功能模块
 用户功能模块主要包括用户登录、用户注册、发表留言、浏览房间信息、查看房间信息、预约房间、取消预约等功能。
1.首页设计
图24所示用户进入网站看到的界面,包括了简单的房间统计,及用户登录系统等功能。

图24  网站首页
程序清单20所示是首页实现的核心代码,即文件index.asp
<%
dim rs_user,room
dim rs_user_total,room_total
Set rs_user = Server.CreateObject("ADODB.Recordset")
sql = "SELECT user_name FROM user_reg"
rs_user.Open sql,hotel_conn,3,2
Set room = Server.CreateObject("ADODB.Recordset")
sql = "SELECT room_id FROM room"
room.Open sql,hotel_conn,3,2
If (rs_user.RecordCount = -1) Then
 rs_user_total=0
 rs_user.movefirst
 While (Not rs_user.EOF)
  rs_user_total = rs_user_total + 1
  rs_user.MoveNext
 Wend
else
 rs_user_total = rs_user.RecordCount
End If
If (room.RecordCount = -1) Then
 room_total=0
 room.movefirst
 While (Not room.EOF)
  room_total = room_total + 1
  room.MoveNext
 Wend
else
 room_total = room.RecordCount
End If
%>
<%
If (room_total = -1) Then
  room_total=0
  While (Not room.EOF)
    room_total = room_total + 1
    room.MoveNext
  Wend
  If (room.CursorType > 0) Then
    room.MoveFirst
  Else
    room.Requery
  End If
  If (room_numRows < 0 Or room_numRows > room_total) Then
    room_numRows = room_total
  End If
  room_first = 1
  room_last = room_first + room_numRows - 1
 
  If (room_first > room_total) Then
    roomd_first = room_total
  End If
  If (room_last > room_total) Then
    room_last = room_total
  End If

End If
%>
  <%
      if not isempty(session("user_name")) then
    set rs_user_name=server.CreateObject("adodb.recordset")
    sql="select * from user_reg where us

首页 上一页 1 2 3 4 5 下一页 尾页 2/5/5

相关论文
上一篇:ASP窗帘网站平台 下一篇:ASP学生管理系统毕业论文
推荐论文 本专业最新论文
Tags:asp 酒店 房间 预约 系统 设计 【返回顶部】

相关栏目

自动化相关
计算机论文
工程管理论文
法律论文
医学论文
人力资源
电子专业
电气工程
英语论文
行政管理
电子商务
社科文学
教育论文
物流专业
金融专业
财务管理
会计专业
化学化工材料科学
电子通信
环境科学
经济类
机械模具类
报告,总结,申请书
其他专业论文


关于我们 | 联系方式 | 论文说明 | 网站地图 | 免费获取 | 钻石会员 | 原创毕业论文

 

论文天下网提供论文检测,论文降重,论文范文,论文排版,网站永久域名WWW.GEPUW.NET

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 893628136@qq.com

Copyright@ 2009-2022 GEPUW.NET 论文天下网 版权所有