注册 登录
编程论坛 ASP技术论坛

出现ADODB.Field (0x80020009)错误

aabb7711 发布于 2007-09-20 14:45, 3337 次点击
我刚学ASP做网站,下了一个源码在自己电脑上试出现如下错误不知如何解决:
  • 错误类型:
    ADODB.Field (0x80020009)
    BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
    /cykc/cha.asp

  • 浏览器类型:
    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)

  • 网页:
    POST 70 ??? /cykc/cha.asp

  • POST Data:
    dingdan=%C7%EB%CC%EE%C4%FA%B5%C4%B6%A9%B5%A5%BA%C5&submit=%B2%E9%D1%AF
    谢谢各位!
  • 只有本站会员才能查看附件,请 登录

    12 回复
    #2
    aabb77112007-09-20 15:57
    附件里是这页的全部代码,请大哥们给看下要怎样修改,我下载了这段的演示源码放入自己的网站后就只有""无此订单号,请检查后重新输入""的字了,不管有没有输入正确的定单号都一样,原来是输入正确的定单号一切正常,输入错误的定单号或空白就显示如上错误代码.谢谢!急用哦!
    #3
    hmhz2007-09-20 16:01
    if rs.eof and rs.bof then 改成 if not(rs.eof and rs.bof) then

    [此贴子已经被作者于2007-9-20 16:02:35编辑过]

    #4
    aabb77112007-09-20 16:30
    谢谢!(HMHZ)回复,可我加了你那个红色部分运行后还是一样的.???
    #5
    hmhz2007-09-20 16:39
    你这个是写入数据,你下的程序不能用,估计很多地方都这样不给你用
    #6
    aabb77112007-09-20 17:00

    改成这个<DIV class=list>
    <FORM name=dingdan action=cha.asp method=post>
    <DIV class=s1>订单查询: <INPUT onblur="if (this.value=='') this.value=this.defaultValue;" onfocus="if (this.value==this.defaultValue) this.value='';" maxLength=18 value=请填您的订单号 name=dingdan></DIV>
    <DIV class=s2><INPUT type=submit value=" 开始查询 " name=submit> <INPUT type=reset value=" 重新填写 " name=Clear></DIV></FORM>
    <SCRIPT language=javascript>alert('无此订单号,请检查后重新输入');location.href='javascript:history.go(-1)';</SCRIPT> 后就不管有无定单号输入查询全显示""无此订单号,请检查后重新输入""
    谢谢!

    #7
    aabb77112007-09-20 17:07
    原来程序是这样的 <div class="bt">订单查询</div>
    <div class="list">
    <form name="dingdan" action="cha.asp" method="post">
    <div class="s1">订单查询:
    <input type="text" name="dingdan" size=20 maxlength=18 value="请填您的订单号" onFocus="if (this.value==this.defaultValue) this.value='';" onBlur="if (this.value=='') this.value=this.defaultValue;"></div>
    <div class="s2"><input type="submit" name="submit" value=" 开始查询 "> <input type=reset name="Clear" value=" 重新填写 "></div>
    </form>
    <%
    dingdan=request("dingdan")
    set rs=server.CreateObject("adodb.recordset")
    rs.open "select * from shop_action where dingdan='"&dingdan&"' order by actionid desc ",conn,1,1%>
    <%
    if dingdan<>"" then
    if rs.eof and rs.bof then
    response.write "<script language='javascript'>"
    response.write "alert('无此订单号,请检查后重新输入');"
    response.write "location.href='javascript:history.go(-1)';"
    response.write "</script>"
    他输入正确定单号就可以,输入错误定单号就出现上述错误.谢谢!
    #8
    aabb77112007-09-21 11:03

    有人能给解决吗?这是我好不容易找到的比较完整的商城源码呀。谢谢各位大哥喽!!!!!!

    #9
    hmhz2007-09-21 11:11
    <%
    dingdan=request.form("dingdan")
    if dingdan<>"" then
    set rs=server.CreateObject("adodb.recordset")
    rs.open "select * from shop_action where dingdan='"&dingdan&"'",conn,1,1
    if rs.eof and rs.bof then
    response.write "<script>alert('此订单号不存在!');history.go(-1);</script>"
    response.end
    end if
    rs.close
    set rs=nothing
    else
    response.write "<script>alert('订单号不能为空!');history.go(-1);</script>"
    end if
    %>
    #10
    aabb77112007-09-21 12:11

    按HMHZ的代码修改输入正确定单号时(错误定单号时显示“此订单号不存在”)出现如下信息:
    技术信息(用于支持人员)

    • 错误类型:
      Microsoft VBScript 运行时错误 (0x800A000D)
      类型不匹配
      /cykc/cha.asp, 第 52 行

    • 浏览器类型:
      Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)

    • 网页:
      POST 53 ??? /cykc/cha.asp

    • POST Data:
      dingdan=2007921%C9%CF%CE%E7113924&submit=%B2%E9%D1%AF

    • 时间:
      2007年9月21日, 下午 12:09:30


      <tr>
      <td>订单号</td>
      <td>收货人姓名</td>
      <td>订单状态</td>
      <td>操作时间</td>
      </tr> 这里是第51行
      <tr>
      谢谢!

    [此贴子已经被作者于2007-9-21 12:27:33编辑过]

    #11
    hmhz2007-09-21 12:30
    你的 dingdan 字段是什么类型的?如果是数字类型的,就使用
    <%
    dingdan=request.form("dingdan")
    if dingdan<>"" then
    set rs=server.CreateObject("adodb.recordset")
    rs.open "select * from shop_action where dingdan="&dingdan&"",conn,1,1
    if rs.eof and rs.bof then
    response.write "<script>alert('此订单号不存在!');history.go(-1);</script>"
    response.end
    end if
    rs.close
    set rs=nothing
    else
    response.write "<script>alert('订单号不能为空!');history.go(-1);</script>"
    end if
    %>
    #12
    aabb77112007-09-21 13:15
    是这样的“2007921上午113924”内容。谢谢!
    #13
    aabb77112007-09-21 14:03

    感谢HMHZ的热情帮助,问题已经解决了,谢谢HMHZ大哥!

    1