求助ASP问题,谢谢!!
本人是个初学者,练习做个在线订书的小程序,但是在提交后出现了一个小问题,请教各位指点,谢谢!!
原码
http://zw.0412.org/1/20040802.rar
错误代码
技术信息(用于支持人员)
错误类型:
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
<!-- #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
%>
问题点数:20、回复次数:5Top
1 楼Drowning(悠長假期~~)回复于 2004-08-04 15:06:19 得分 5
这个select * from book where 书号='"&a(i,1)&"'"
danjia=rs1("订价")
zhongjia=CCur(danjia*a(i,2))
在数据库中没有找到记录Top
2 楼xzq686(★_瞬_★)回复于 2004-08-04 15:06:34 得分 15
sql1="select * from book where 书号='"&a(i,1)&"'"
rs1.open sql1,conn,1,1
danjia=rs1("订价")
上面的select语句如果找不到书号或者a(i,1)为空。就会出现上面的错误。。
下面那样处理一下:
set rs1=server.CreateObject("adodb.recordset")
if a(i,1)="" then
response.write "提交过来的书号为空!"
response.end
else
sql1="select * from book where 书号='"&a(i,1)&"'"
rs1.open sql1,conn,1,1
if not rs1.eof then
danjia=rs1("订价")
else
response.write"没有找到与你要找的书号相同的书!"
end if
end if
Top
3 楼skyboy0720(曲终人散)回复于 2004-08-04 15:09:15 得分 0
如楼上所说,取出记录之前,先判断记录是否存在!Top
4 楼hailang3275(海浪)回复于 2004-08-04 15:09:30 得分 0
数据库中没有记录
Top
5 楼zwbfw(蝙蝠)回复于 2004-08-04 15:15:54 得分 0
谢谢楼上的几位,问题已解决,谢谢指点,还是这里比较好呀。Top




