主题:  [问题]求助ASP问题,谢谢!!

zwbfw_5d

职务:普通成员
等级:1
金币:0.0
发贴:8
#12004/8/4 14:42:30
本人是个初学者,练习做个在线订书的小程序,但是在提交后出现了一个小问题,请教各位指点,谢谢!!

原码



错误代码


技术信息(用于支持人员)

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


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

网页:
POST 93 ??? /0/20040802/ding.asp

POST Data:
number1=&number2=&xuanzhe3=isn0003&number3=10&xuanzhe4=isn0004&number4=15&Submit=%CC%E1%BD%BB



zwbfw_5d

职务:普通成员
等级:1
金币:0.0
发贴:8
#22004/8/4 14:43:58
<!-- #include file="conn.asp" -->

<%
j=request.Cookies("j")
dim a(10,10)
for i=1 to j
a(i,1)=request.Form("xuanzhe"&i)
a(i,2)=request.Form("number"&i)

set rs1=server.CreateObject("adodb.recordset")
sql1="select * from book where 书号='"&a(i,1)&"'"
rs1.open sql1,conn,1,1
danjia=rs1("订价")
zhongjia=CCur(danjia*a(i,2))


set rs=server.CreateObject("adodb.recordset")
sql="select * from ding"
rs.open sql,conn,1,2
username=session("username")
numberbook=a(i,1)
numbers=a(i,2)
rs.addnew
rs("用户名")=username
rs("书号")=numberbook
rs("数量")=cint(numbers)
rs("单价")=danjia
rs("总价")=zhongjia
rs("订购时间")=now()
rs.update
next

rs1.close
set rs1=nothing

rs.close
set rs=nothing
conn.close
set conn=nothing
%>



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#32004/8/4 14:48:38
sql1="select * from book where 书号='"&a(i,1)&"'"
rs1.open sql1,conn,1,1

if rs1.eof then
Response.write("记录不存在")
rs1.close()
set rs=nothing
response.end()
end if

danjia=rs1("订价")
zhongjia=CCur(danjia*a(i,2))


至于为什么会发生记录不存在,你输出sql看一下参数传递是不是正确



zwbfw_5d

职务:普通成员
等级:1
金币:0.0
发贴:8
#42004/8/4 14:51:01
我现在改成这个样了,又出现问题了


<!-- #include file="conn.asp" -->

<%
j=request.Cookies("j")
dim a(10,10)
for i=1 to j-1
a(i,0)=request.Form("xuanzhe"&i)
a(i,1)=request.Form("number"&i)

response.write(a(i,0)&"--")
response.write(a(i,1)&"<br>")


if a(i,0) <>"" then
set rs1=server.CreateObject("adodb.recordset")
sql1="select * from book where 书号='"&a(i,0)&"'"
response.write(sql1&"<br>")
rs1.open sql1,conn,1,1
danjia=rs1("订价")
zhongjia=CCur(danjia*a(i,1))

response.write(danjia&"--")
response.write(zhongjia&"<br>")

rs1.close
set rs1=nothing
conn.close
set conn=nothing
end if

set rs=server.CreateObject("adodb.recordset")
sql="select * from ding"
rs.open sql,conn,1,3
username=session("username")
numberbook=a(i,1)
numbers=a(i,2)
rs.addnew
rs("用户名")=username
rs("书号")=numberbook
rs("数量")=cint(numbers)
rs("单价")=danjia
rs("总价")=zhongjia
rs("订购时间")=now()
rs.update

next



rs.close
set rs=nothing
conn.close
set conn=nothing



%>



zwbfw_5d

职务:普通成员
等级:1
金币:0.0
发贴:8
#52004/8/4 14:51:37
技术信息(用于支持人员)

错误类型:
Microsoft JET Database Engine (0x80040E21)
由于数据表 'book' 需要一个相关记录,不能添加或修改记录。
/0/20040802/ding.asp, 第 44 行


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

网页:
POST 73 ??? /0/20040802/ding.asp

POST Data:
number1=&number2=&xuanzhe3=isn0003&number3=5&number4=&Submit=%CC%E1%BD%BB



zwbfw_5d

职务:普通成员
等级:1
金币:0.0
发贴:8
#62004/8/4 15:16:23
问题解决了,谢谢了!!



醉卧孤云

职务:普通成员
等级:1
金币:0.0
发贴:20
#72004/8/4 20:55:56
修改过的代码发上来看看/1