日期:2014-05-16  浏览次数:21070 次

批量添加数据时,提示:下标越界: 'i',急急急。
asp+sql2000
存在问题:批量加入数据的程序,如果从上一页传过来的数据为多行时,填加不会出错,如果只有一行时就出下面的错误:

错误类型:
Microsoft VBScript 运行时错误 (0x800A0009)
下标越界: 'i'
/add_jijia_mx_ok.asp, 第 72 行




<!--#include file="adminconn.inc" -->

  <%

t1=request.form("t1") 
t1=Split(t1,",") 

bb_work=ltrim(trim(request.form("bb_work")))
bb_work=Split(bb_work,",")

hh_name=ltrim(trim(request.form("hh_name")))
hh_name=Split(hh_name,",")

didian=request.form("didian")
didian=Split(didian,",")


     shu=0 
     i=0
     for i=0 to UBound(t1) 


if request.form("bb_work")<>""   then    
if  ltrim(trim(bb_work(i)))="" then   '如果bb_work值为空,则不填加。
else
sql="insert into   work_mx(hh_shuliang,hh_name)  values ('"&bb_work(i)&"','"&hh_name(i)&"')" 
end if
conn.execute sql,shu1 
end if

shu=shu+1 
     next    

       response.write("<Script>alert('添加成功!');location.href='add_work.asp';</script>") 
     conn.close 
     set conn=nothing

  %>    

------解决方案--------------------
i是根据t1的长度循环的, 要查一下其他几个数组的长度是不是和t1相同
另外用批量查询的方法,效率更高点
------解决方案--------------------
同上