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相同
另外用批量查询的方法,效率更高点
------解决方案--------------------
同上