编程论坛's Archiver

yangziyang 发表于 2008-5-11 14:48

运行时总是出现Microsoft VBScript 运行时错误 (0x800A01A8);缺少对象: '';/1/del.asp, 第 23 行

dim room_id,sql,sql1,rs_del,conn
'接收房间数据------------------
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
conn.execute sql 第 23 行
sql1="deleete from preengage where room_id="& room_id
conn.execute sql1
rs_del.open sql,sql1,hotel_conn,3,2

运行时总是出现
Microsoft VBScript 运行时错误 (0x800A01A8)
缺少对象: ''
/1/del.asp, 第 23 行

[[it] 本帖最后由 yangziyang 于 2008-5-11 19:09 编辑 [/it]]

不夜星空 发表于 2008-5-11 18:08

sql = "'delete from room where room_id=" & room_id
这句话是不是多了个豆号啊!不知道是不是这个错呢!
楼下你说一下是什么情况!本人太菜了!

multiple1902 发表于 2008-5-11 18:51

如果就是这个代码的话,Conn对象(变量)没有被初始化,也没有连接数据库……

顺便,24行有拼写错误

yangziyang 发表于 2008-5-13 17:47

系统程序

附件5.13

madpbpl 发表于 2008-5-13 19:30

sql = "delete from room where room_id=" & room_id
改成
sql = "delete * from [room] where room_id=" & room_id
试试
room可能是数据库关键字,需要加“[]”

yangziyang 发表于 2008-5-15 18:17

ADODB.Recordset (0x800A0BCD);BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除

错误类型:ADODB.Recordset (0x800A0BCD);BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录;/1/admin_chk.asp, 第 34 行


<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="hotel.asp" -->
<!--#include file="include/is_admin.asp" -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>预约确认</title>
<style type="text/css">
<!--
@import url("style.css");
-->
</style>
</head>

<body>

<div align="center">
  <table width="706" height="281" border="0" class="table_big">
    <tr>
      <td valign="top"><div align="center">
          <!--#include file="include/admin_head.asp" -->
                  <%
                        dim preengage_id,rs_preengage,sql,rs_room,rs_cancel,datetime
                        '接收表单数据------------------
                        preengage_id=request("preengage_id")
                                                 
                        '打开预约据库--------------------
                        set rs_preengage=server.CreateObject("adodb.recordset")
                          If preengage_id="" or isnull(preengage_id) Then
                                '表单数据preengage_id为空,开始显示预约列表--------------
                                '此处要加入paid = 0条件来列出尚未付款的预约--------------
                                sql = "select * from preengage where paid = 0"
                                rs_preengage.open sql,hotel_conn,3,2
                                rs_preengage.movefirst '把数据库指针移到第一条信息;(/1/admin_chk.asp, 第 34 行)
                               
                  %>
                  <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
                '如果预约不存在则提示错误信息------------------
                if rs_preengage.eof or rs_preengage.bof then
                        response.Redirect("error.asp")
                        response.End()
                            end if
                                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 %>
                  <br>
      </div></td>
    </tr>
  </table>
</div>
</body>
</html>

zuoran135 发表于 2008-5-16 18:08

回复 6# 的帖子

把set rs_del=server.CreateObject("adodb.recordset")
改为
set conn=server.CreateObject("adodb.recordset")
试试

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.