为何总是索引越界

curious 2000-06-06 08:39:00
我在一个页面生成带复选框的选项,提交后将所选记录从库中删除,可结果老提示“请求对象 错误 'ASP 0105 : 80004005' 索引越界 ”,请各位大侠指点
生成页面:
CommandText1="select aaa where bbb='xxx'"
Set rs1=Conn.Execute (CommandText1,20,1)
j=0
do until rs1.EOF
Response.Write "<tr>"
for i=0 to 2
if not rs1.eof then
j=j+1
Response.Write"<td width='33%'><INPUT TYPE=checkbox name="&j&" value="&rs1(0).value&">" & rs1(0).value & "</td>"
rs1.movenext
else
Response.Write "<td width='33%'> </td>"
end if
next
Response.Write "</tr>"
loop
Session("count1")=j
Response.Write "</table>"

处理请求:
for i=1 to Session("count1")
checkvalue=Request.Form(i)
if checkvalu<>"" then
sql="delete subscribe where bbb='xxx' and aaa="&checkvalu
conn.Execute(sql)
end if
next



...全文
180 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
curious 2000-06-06
  • 打赏
  • 举报
回复
1 Session("count1")的值正确
2 未选的复选框的值不空,大于正常值。尽管有错误提示,一般能将所选项删除,但有时多删了
zdg 2000-06-06
  • 打赏
  • 举报
回复
需要调试
1)看Session("count1")是否传递过来???
2)出错的i值是多少???
smallxiong 2000-06-06
  • 打赏
  • 举报
回复
或者至少你这样写
request.form(cstr(i))
这样就不会被当索引去处理了。
smallxiong 2000-06-06
  • 打赏
  • 举报
回复
不要用数字做名称
因为会被当成索引
就是request.form(1)
是表示索引为1的第一个对象,并不是表示你那个命名为1的checkbox
所以如果你不是全选的话,那么你用request.form(count1)就肯定会出现
索引越界。

28,390

社区成员

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

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