看看那里的问题,搞了1天多了没有解决

afeng888 2003-10-16 02:27:31
ADODB.Field 错误 '80020009'
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。 /shopping.asp,行0
<%case "ok"
function HTMLEncode2(fString)
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")
fString = Replace(fString, CHR(10), "<BR>")
HTMLEncode2 = fString
end function
if session("xiadan")<>second(now) then
dim shijian,dingdan
shijian=now()
dingdan=year(shijian)&month(shijian)&day(shijian)&hour(shijian)&minute(shijian)&second(shijian)
set rs2=server.CreateObject("adodb.recordset")
rs2.open "select * from book where BookID in ("&BookID&") order by BookID ",conn,1,1
dingdan=year(shijian)&month(shijian)&day(shijian)&hour(shijian)&minute(shijian)&second(shijian)
do while not rs2.eof
set rs=server.CreateObject("adodb.recordset")
sql="select * from [Order]"
rs.open sql,conn,1,3
rs.addnew
rs("UserName")=trim(session("UName"))
rs("BookID")=trim(session("BookID"))
rs("bookname")=trim(session("bookname"))
rs("InputTime")=shijian
rs("bookcount")=CInt(Request("ckxp"&rs2("BookID")))
rs("IsOk")=1
rs("OrderID")=dingdan
rs("Address")=trim(request("Or_address"))
rs("Post")=int(request("Or_post"))
rs("Sex")=int(request("Sex"))
rs("Note")=HTMLEncode2(trim(request("liuyan")))
rs("Price")=rs2("BookCase2")*CInt(Request("ckxp"&rs2("BookID")))
rs("email")=trim(request("email"))
rs("Phone")=trim(request("Or_Phone"))
rs.update
rs.close
set rs=nothing
conn.execute "delete from [Order] where UserName='"&session("UName")&"' and BookID in ("&BookID&") "
rs2.movenext
loop
rs2.close
set rs2=nothing
session("xiadan")=second(now)
else
response.Write "<center>您不能重复提交!</center>"
response.End
end if
set rs=server.CreateObject("adodb.recordset")
sql1="select book.bookid,book.bookname,book.bookcase1,book.bookcase2,[order].sex,[order].username,[order].email,[order].orderid,[order].post,[order].note,[order].phone,[order].address,[order].or_zonghe,[order].bookcount from [order] inner join book on book.bookid=[order].bookid where [order].username='"&session("uname")&"' and [order].isok=1 and [order].orderid='"&dingdan&"' "
rs.open sql1,conn,1,1
%>
<table >
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td rowspan="2">
<table width="100%" border="0" >
<tr>
<td >
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" id="AutoNumber3" height="0" width="100%">
<tr>
<td>
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="1">
<tr>
<td height="18" bgcolor="#EFF5FE">
<div align="center">恭喜,您已成功的提交了此订单!详细信息如下:</div>
</td></tr>
<tr> <td height="18" >订单号:<%=rs("OrderId")%></td>
...全文
29 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
avonqin 2003-10-17
  • 打赏
  • 举报
回复
conn.execute "delete from [Order] where UserName='"&session("UName")&"' and BookID in ("&BookID&") "
==>
conn.execute "delete from [Order] where UserName='"&trim(session("UName"))&"' and BookID in ("&BookID&") "
afeng888 2003-10-17
  • 打赏
  • 举报
回复
谢谢各位
Struggling 2003-10-17
  • 打赏
  • 举报
回复
在读记录的时候加
if not rs.eof then
.....
end if
这样的判断!你那错误提示明显就是数据库中没有记录,或缺少必要的字段的问题!
lyywxl 2003-10-17
  • 打赏
  • 举报
回复
<td height="18" >订单号:
<%if not rs.eof then response.write rs("OrderId")%>
</td>

ttt2 2003-10-17
  • 打赏
  • 举报
回复
rs.open sql1,conn,1,1
%>
<table >
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td rowspan="2">
<table width="100%" border="0" >
<tr>
<td >
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" id="AutoNumber3" height="0" width="100%">
<tr>
<td>
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="1">
<tr>
<td height="18" bgcolor="#EFF5FE">
<div align="center">恭喜,您已成功的提交了此订单!详细信息如下:</div>
</td></tr>
<tr> <td height="18" >订单号:<%=rs("OrderId")%></td
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
问题应该在这里 这里打开没有判断是否为eof
zhanghao5188 2003-10-17
  • 打赏
  • 举报
回复
4.选择语句
格式I:Select Case表达式
Case值1
语句块1
Case值2
语句块2
[Case Else
语句块n]
End Select
格式2:SelectCase表达式
Case值1,值2[,.]
语句块1
Case值3 TO值4[,.]
语句块2
Case Is比较运算符值5
语句块3
[Case Else
语句块n]
End Select
其含义为:当表达式取某值或在某数值范围内时,就执行与某值相对应的“Case…”后面的语句块。To关键字用两个数值指定一个范围,其中较小的数值要在To的前面。Is关键字配合比较运算符来指定一个数值范围,如“Is<=8”等。当表达式取值1,值2,……;以及指定数值范围以外的值时,执行“Case Else”后面的语句块。
shijian58 2003-10-17
  • 打赏
  • 举报
回复
sql语句的问题IN的问题
avonqin 2003-10-16
  • 打赏
  • 举报
回复
/shopping.asp,行0

上面的代码看不出问题来哦
avonqin 2003-10-16
  • 打赏
  • 举报
回复
怎么又是你呀?
afeng888 2003-10-16
  • 打赏
  • 举报
回复
急啊

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧