跪求!!!如何批量录入数据????????????/

时间:2021-02-07 08:59:59
<%
db="db.mdb"
   set rs=server.createobject("adodb.recordset")
   set conn=server.createobject("adodb.connection")
   connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
sql="select * from sell "
rs.open sql,conn,3,3 
    dim mc,pp,xh,sl,dj,zj,sz1,sz2,sz3,sz4,sz5,sz6,i
       recCnt=5 '取得共有多少条记录
    '批量录入数据
    for i=1 to recCnt
         mc=trim(request.form("mc")(i))
        pp=trim(request.form("pp")(i))
xh=trim(request.form("xh")(i))
sl=trim(request.form("sl")(i))
dj=trim(request.form("dj")(i))
zj=trim(request.form("zj")(i))
sz1=split(mc,",")
sz2=split(pp,",")
sz3=split(xh,",")
sz4=split(sl,",")
sz5=split(dj,",")
sz6=split(zj,",") 
rs.addnew
for i=0 to ubound(sz1)
rs("mc")=sz1(i)
rs("pp")=sz2(i)
rs("xh")=sz3(i)
rs("sl")=sz4(i)
rs("dj")=sz5(i)
rs("zj")=sz6(i)
next
rs.update
response.write"<div align=center><font color=red>"
response.write"输入完成!"
response.write"</font></div>"
rs.close
end if   
conn.close
set conn=nothing 
%>

17 个解决方案

#1


以上是我写的代码,可是实现不了,请教高手哪里有错,给小弟改正一下,先谢谢了.

#2


怎么没有人肯帮我呀?5555555555555555555555555555

#3


你这个rs.addnew应该放到循环里面才行吧

#4


两个i啊,后面的换成别的

#5


看你的程序好象是把最后一条记录重写了ubound(sz1)次一样

#6


求各位高人给我改一下吧,把源代码给我写出来好吗?好急的!!!

#7


循环控制变量 'for' 无效 

/aa/sy/tianjiacl.asp,行24 

for i=0 to ubound(sz1)


总是提示这个错误.郁闷

#8


把后面的变量改成J,然后好象还少了个NEXT
<%
db="db.mdb"
   set rs=server.createobject("adodb.recordset")
   set conn=server.createobject("adodb.connection")
   connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
sql="select * from sell "
rs.open sql,conn,3,3 
    dim mc,pp,xh,sl,dj,zj,sz1,sz2,sz3,sz4,sz5,sz6,i
       recCnt=5 '取得共有多少条记录
    '批量录入数据
    for i=1 to recCnt
         mc=trim(request.form("mc")(i))
        pp=trim(request.form("pp")(i))
xh=trim(request.form("xh")(i))
sl=trim(request.form("sl")(i))
dj=trim(request.form("dj")(i))
zj=trim(request.form("zj")(i))
sz1=split(mc,",")
sz2=split(pp,",")
sz3=split(xh,",")
sz4=split(sl,",")
sz5=split(dj,",")
sz6=split(zj,",") 
rs.addnew
for j=0 to ubound(sz1)
rs("mc")=sz1(i)
rs("pp")=sz2(i)
rs("xh")=sz3(i)
rs("sl")=sz4(i)
rs("dj")=sz5(i)
rs("zj")=sz6(i)
next
rs.update
next
response.write"<div align=center><font color=red>"
response.write"输入完成!"
response.write"</font></div>"
rs.close
end if   
conn.close
set conn=nothing 
%>

#9


<%
db="db.mdb"
   set rs=server.createobject("adodb.recordset")
   set conn=server.createobject("adodb.connection")
   connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
sql="select * from sell "
rs.open sql,conn,3,3 
    dim mc,pp,xh,sl,dj,zj,sz1,sz2,sz3,sz4,sz5,sz6,i
       recCnt=5 '取得共有多少条记录
    '批量录入数据
    for i=1 to recCnt
         mc=trim(request.form("mc")(i))
        pp=trim(request.form("pp")(i))
xh=trim(request.form("xh")(i))
sl=trim(request.form("sl")(i))
dj=trim(request.form("dj")(i))
zj=trim(request.form("zj")(i))
sz1=split(mc,",")
sz2=split(pp,",")
sz3=split(xh,",")
sz4=split(sl,",")
sz5=split(dj,",")
sz6=split(zj,",") 
for j=0 to ubound(sz1)
rs.addnew
rs("mc")=sz1(j)
rs("pp")=sz2(j)
rs("xh")=sz3(j)
rs("sl")=sz4(j)
rs("dj")=sz5(j)
rs("zj")=sz6(j)
rs.update
next 
next
response.write"<div align=center><font color=red>"
response.write"输入完成!"
response.write"</font></div>"
rs.close
'end if(你的原来有,不知道是不是前面的代码有if)   
conn.close
set conn=nothing 
%>

#10



rs.open sql,conn,1,3
for i=1 to 100
  rs.addnew    '添加一条记录
   mc=trim(request.form("mc")(i))
        pp=trim(request.form("pp")(i))
xh=trim(request.form("xh")(i))
sl=trim(request.form("sl")(i))
dj=trim(request.form("dj")(i))
zj=trim(request.form("zj")(i))
sz1=split(mc,",")
sz2=split(pp,",")
sz3=split(xh,",")
sz4=split(sl,",")
sz5=split(dj,",")
sz6=split(zj,",") 
  rs.update '更新记录
next

#11


楼主记得给分我哦!

#12


rs.UpdateBatch
批量更新

#13


<%
db="db.mdb"
   set rs=server.createobject("adodb.recordset")
   set conn=server.createobject("adodb.connection")
   connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
sql="select * from sell "
rs.open sql,conn,3,3 
    dim mc,pp,xh,sl,dj,zj,sz1,sz2,sz3,sz4,sz5,sz6,i,j
       recCnt=5 '取得共有多少条记录
    '批量录入数据
    for i=1 to recCnt
         mc=trim(request.form("mc")(i))
        pp=trim(request.form("pp")(i))
xh=trim(request.form("xh")(i))
sl=trim(request.form("sl")(i))
dj=trim(request.form("dj")(i))
zj=trim(request.form("zj")(i))
sz1=split(mc,",")
sz2=split(pp,",")
sz3=split(xh,",")
sz4=split(sl,",")
sz5=split(dj,",")
sz6=split(zj,",") 
for j=0 to ubound(sz1)
rs.addnew
rs("mc")=sz1(j)
rs("pp")=sz2(j)
rs("xh")=sz3(j)
rs("sl")=sz4(j)
rs("dj")=sz5(j)
rs("zj")=sz6(j)
rs.update
next
next
response.write"<div align=center><font color=red>"
response.write"输入完成!"
response.write"</font></div>"
rs.close
conn.close
set conn=nothing 
%>

#14


非常感谢各位的帮忙.不过还没有实现.又出现这个错误:
请求对象 错误 'ASP 0105 : 80004005' 

索引越界 

/aa/sy/tianjiacl.asp,行13 

数组索引越界。

各位大哥,好事做到底吧.

#15


for j=0 to ubound(sz1)
将这个改为
for j=lbount(sz1) to ubound(sz1)

#16


<%
db="db.mdb"
   set rs=server.createobject("adodb.recordset")
   set conn=server.createobject("adodb.connection")
   conn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
sql="select * from sell "
rs.open sql,conn,3,3 
    dim mc,pp,xh,sl,dj,zj,sz1,sz2,sz3,sz4,sz5,sz6,i,j
       recCnt=6 '取得共有多少条记录
    '批量录入数据
    for i=1 to recCnt
        mc=trim(request.form("mc")(i))
        pp=trim(request.form("pp")(i))
xh=trim(request.form("xh")(i))
sl=trim(request.form("sl")(i))
dj=trim(request.form("dj")(i))
zj=trim(request.form("zj")(i))
sz1=split(mc,",")
sz2=split(pp,",")
sz3=split(xh,",")
sz4=split(sl,",")
sz5=split(dj,",")
sz6=split(zj,",") 
for j=lbound(sz1) to ubound(sz1)
rs.addnew
rs("mc")=sz1(j)
rs("pp")=sz2(j)
rs("xh")=sz3(j)
rs("sl")=sz4(j)
rs("dj")=sz5(j)
rs("zj")=sz6(j)
rs.update
next
next
response.write"<div align=center><font color=red>"
response.write"输入完成!"
response.write"</font></div>"
rs.close
conn.close
set conn=nothing 
%>


请问一下,我这样写代码,可以写入记录了,但是却提示出这个错误:

Microsoft VBScript 编译器错误 错误 '800a03f6' 

缺少 'End' 

/iisHelp/common/500-100.asp,行242 

请求对象 错误 'ASP 0105 : 80004005' 

索引越界 

/aa/sy/cl.asp,行12 

数组索引越界。 

请问各位高手是怎么回事呀???????????????????????????/

#17


<!--#include file="conn.asp" --><%
SUB writeData()
    dim recCnt,i
    dim fieldName1,fieldName2,fieldName3
    recCnt=cint(request.form("hnum")) '取得共有多少条记录
    '批量录入数据
    for i=1 to recCnt
         fieldName1=trim(request.form("fieldName1")(i))
        fieldName2=trim(request.form("fieldName2")(i))
        fieldName3=trim(request.form("fieldName3")(i))
if fieldname3="" then
response.write"error!没有商品号"
else
sql2="select manu_Number,manu_Descript,itemr from manufacturer  where itemr='"&fieldname3&"'"
set rs2= server.createobject("adodb.recordset")
rs2.open sql2,conn,3,3
if not rs2.eof then 
response.write"<script>alert('一个厂编不能有两个相同的商品号,点确定返回!',onclick= location.href =' manuedit.asp')</script>"
else
        sqlStr="insert into manufacturer(manu_Number,manu_Descript,itemr) values("&fieldName1&",'"&fieldName2&"','"&fieldName3&"')"
                                       
        'response.write sqlStr
        conn.execute(sqlStr)

end if
end if
    next
response.Write("成功!")
response.redirect("manuedit.asp")
conn.close

END SUB
%>
<%
SUB InputData()
dim recCnt,i
%><%if request.form("fieldname1")="" or request.form("fieldname2")="" or request.form("recCnt")="" then
response.write"<div align=center style='color:red'>error!数据错误!<br>厂商名称输入不完整!<br>厂商编号输入不完整<br>商品号记录数没有输入<br><a href=insert.asp class=n1>返回重新输入</a></div>"
else%>
<form name="form1" action="insert.asp" method="post" onload="text.focus()" onkeydown="if(event.keyCode==13) event.keyCode=9">
厂商号:<%=request.form("fieldname1")%> 厂商名称:<%=request.form("fieldname2")%>,请输入厂商所对应的商品号<br>
<% 
recCnt=cint(request.form("recCnt"))
if reccnt>0 then
for i=1 to recCnt
%>
商品号<%response.write""&i&""%>:<input type="text" name="fieldName3"><br>
<input type=hidden name="fieldName1" value="<%=request("fieldname1")%>"><br>
<input type=hidden name="fieldName2" value="<%=request("fieldname2")%>"><br>


<%
next
%>
<br>

<input type="hidden" name="hnum" value="<%=recCnt%>">
<input type="submit" name="action" value="提交" onkeydown="if(event.keyCode==13){this.click()}">
</form>
<%
else
response.Write("请输入大于0的数!")
end if
end if
END SUB%> 

<%sub ass()%>

<!------指定要录入多少条记录-------------->
<form name="form1" action="insert.asp" method="post" onload="text.focus()" onkeydown="if(event.keyCode==13) event.keyCode=9">
厂商编号:<input type="text" name="fieldName1"><br>
厂商名称:<input type="text" name="fieldName2"><br>
您要录入的记录的条数:<input type="text" name="recCnt"> 
<input type="submit" name="action" value="下一步>>" onkeydown="if(event.keyCode==13){this.click()}">
</form>
<%
end sub
if request.form("action")="下一步>>" then
   Call InputData()  '显示成批录入界面
elseif request.form("action")="提交" then 
Call writeData()  '向数据库批量写入数据
else
call ass()
end if
%><script>
document.forms[0].elements[0].focus();  
</script>
---------------------------------
conn.asp 是数据库连接文件

#1


以上是我写的代码,可是实现不了,请教高手哪里有错,给小弟改正一下,先谢谢了.

#2


怎么没有人肯帮我呀?5555555555555555555555555555

#3


你这个rs.addnew应该放到循环里面才行吧

#4


两个i啊,后面的换成别的

#5


看你的程序好象是把最后一条记录重写了ubound(sz1)次一样

#6


求各位高人给我改一下吧,把源代码给我写出来好吗?好急的!!!

#7


循环控制变量 'for' 无效 

/aa/sy/tianjiacl.asp,行24 

for i=0 to ubound(sz1)


总是提示这个错误.郁闷

#8


把后面的变量改成J,然后好象还少了个NEXT
<%
db="db.mdb"
   set rs=server.createobject("adodb.recordset")
   set conn=server.createobject("adodb.connection")
   connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
sql="select * from sell "
rs.open sql,conn,3,3 
    dim mc,pp,xh,sl,dj,zj,sz1,sz2,sz3,sz4,sz5,sz6,i
       recCnt=5 '取得共有多少条记录
    '批量录入数据
    for i=1 to recCnt
         mc=trim(request.form("mc")(i))
        pp=trim(request.form("pp")(i))
xh=trim(request.form("xh")(i))
sl=trim(request.form("sl")(i))
dj=trim(request.form("dj")(i))
zj=trim(request.form("zj")(i))
sz1=split(mc,",")
sz2=split(pp,",")
sz3=split(xh,",")
sz4=split(sl,",")
sz5=split(dj,",")
sz6=split(zj,",") 
rs.addnew
for j=0 to ubound(sz1)
rs("mc")=sz1(i)
rs("pp")=sz2(i)
rs("xh")=sz3(i)
rs("sl")=sz4(i)
rs("dj")=sz5(i)
rs("zj")=sz6(i)
next
rs.update
next
response.write"<div align=center><font color=red>"
response.write"输入完成!"
response.write"</font></div>"
rs.close
end if   
conn.close
set conn=nothing 
%>

#9


<%
db="db.mdb"
   set rs=server.createobject("adodb.recordset")
   set conn=server.createobject("adodb.connection")
   connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
sql="select * from sell "
rs.open sql,conn,3,3 
    dim mc,pp,xh,sl,dj,zj,sz1,sz2,sz3,sz4,sz5,sz6,i
       recCnt=5 '取得共有多少条记录
    '批量录入数据
    for i=1 to recCnt
         mc=trim(request.form("mc")(i))
        pp=trim(request.form("pp")(i))
xh=trim(request.form("xh")(i))
sl=trim(request.form("sl")(i))
dj=trim(request.form("dj")(i))
zj=trim(request.form("zj")(i))
sz1=split(mc,",")
sz2=split(pp,",")
sz3=split(xh,",")
sz4=split(sl,",")
sz5=split(dj,",")
sz6=split(zj,",") 
for j=0 to ubound(sz1)
rs.addnew
rs("mc")=sz1(j)
rs("pp")=sz2(j)
rs("xh")=sz3(j)
rs("sl")=sz4(j)
rs("dj")=sz5(j)
rs("zj")=sz6(j)
rs.update
next 
next
response.write"<div align=center><font color=red>"
response.write"输入完成!"
response.write"</font></div>"
rs.close
'end if(你的原来有,不知道是不是前面的代码有if)   
conn.close
set conn=nothing 
%>

#10



rs.open sql,conn,1,3
for i=1 to 100
  rs.addnew    '添加一条记录
   mc=trim(request.form("mc")(i))
        pp=trim(request.form("pp")(i))
xh=trim(request.form("xh")(i))
sl=trim(request.form("sl")(i))
dj=trim(request.form("dj")(i))
zj=trim(request.form("zj")(i))
sz1=split(mc,",")
sz2=split(pp,",")
sz3=split(xh,",")
sz4=split(sl,",")
sz5=split(dj,",")
sz6=split(zj,",") 
  rs.update '更新记录
next

#11


楼主记得给分我哦!

#12


rs.UpdateBatch
批量更新

#13


<%
db="db.mdb"
   set rs=server.createobject("adodb.recordset")
   set conn=server.createobject("adodb.connection")
   connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
sql="select * from sell "
rs.open sql,conn,3,3 
    dim mc,pp,xh,sl,dj,zj,sz1,sz2,sz3,sz4,sz5,sz6,i,j
       recCnt=5 '取得共有多少条记录
    '批量录入数据
    for i=1 to recCnt
         mc=trim(request.form("mc")(i))
        pp=trim(request.form("pp")(i))
xh=trim(request.form("xh")(i))
sl=trim(request.form("sl")(i))
dj=trim(request.form("dj")(i))
zj=trim(request.form("zj")(i))
sz1=split(mc,",")
sz2=split(pp,",")
sz3=split(xh,",")
sz4=split(sl,",")
sz5=split(dj,",")
sz6=split(zj,",") 
for j=0 to ubound(sz1)
rs.addnew
rs("mc")=sz1(j)
rs("pp")=sz2(j)
rs("xh")=sz3(j)
rs("sl")=sz4(j)
rs("dj")=sz5(j)
rs("zj")=sz6(j)
rs.update
next
next
response.write"<div align=center><font color=red>"
response.write"输入完成!"
response.write"</font></div>"
rs.close
conn.close
set conn=nothing 
%>

#14


非常感谢各位的帮忙.不过还没有实现.又出现这个错误:
请求对象 错误 'ASP 0105 : 80004005' 

索引越界 

/aa/sy/tianjiacl.asp,行13 

数组索引越界。

各位大哥,好事做到底吧.

#15


for j=0 to ubound(sz1)
将这个改为
for j=lbount(sz1) to ubound(sz1)

#16


<%
db="db.mdb"
   set rs=server.createobject("adodb.recordset")
   set conn=server.createobject("adodb.connection")
   conn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
sql="select * from sell "
rs.open sql,conn,3,3 
    dim mc,pp,xh,sl,dj,zj,sz1,sz2,sz3,sz4,sz5,sz6,i,j
       recCnt=6 '取得共有多少条记录
    '批量录入数据
    for i=1 to recCnt
        mc=trim(request.form("mc")(i))
        pp=trim(request.form("pp")(i))
xh=trim(request.form("xh")(i))
sl=trim(request.form("sl")(i))
dj=trim(request.form("dj")(i))
zj=trim(request.form("zj")(i))
sz1=split(mc,",")
sz2=split(pp,",")
sz3=split(xh,",")
sz4=split(sl,",")
sz5=split(dj,",")
sz6=split(zj,",") 
for j=lbound(sz1) to ubound(sz1)
rs.addnew
rs("mc")=sz1(j)
rs("pp")=sz2(j)
rs("xh")=sz3(j)
rs("sl")=sz4(j)
rs("dj")=sz5(j)
rs("zj")=sz6(j)
rs.update
next
next
response.write"<div align=center><font color=red>"
response.write"输入完成!"
response.write"</font></div>"
rs.close
conn.close
set conn=nothing 
%>


请问一下,我这样写代码,可以写入记录了,但是却提示出这个错误:

Microsoft VBScript 编译器错误 错误 '800a03f6' 

缺少 'End' 

/iisHelp/common/500-100.asp,行242 

请求对象 错误 'ASP 0105 : 80004005' 

索引越界 

/aa/sy/cl.asp,行12 

数组索引越界。 

请问各位高手是怎么回事呀???????????????????????????/

#17


<!--#include file="conn.asp" --><%
SUB writeData()
    dim recCnt,i
    dim fieldName1,fieldName2,fieldName3
    recCnt=cint(request.form("hnum")) '取得共有多少条记录
    '批量录入数据
    for i=1 to recCnt
         fieldName1=trim(request.form("fieldName1")(i))
        fieldName2=trim(request.form("fieldName2")(i))
        fieldName3=trim(request.form("fieldName3")(i))
if fieldname3="" then
response.write"error!没有商品号"
else
sql2="select manu_Number,manu_Descript,itemr from manufacturer  where itemr='"&fieldname3&"'"
set rs2= server.createobject("adodb.recordset")
rs2.open sql2,conn,3,3
if not rs2.eof then 
response.write"<script>alert('一个厂编不能有两个相同的商品号,点确定返回!',onclick= location.href =' manuedit.asp')</script>"
else
        sqlStr="insert into manufacturer(manu_Number,manu_Descript,itemr) values("&fieldName1&",'"&fieldName2&"','"&fieldName3&"')"
                                       
        'response.write sqlStr
        conn.execute(sqlStr)

end if
end if
    next
response.Write("成功!")
response.redirect("manuedit.asp")
conn.close

END SUB
%>
<%
SUB InputData()
dim recCnt,i
%><%if request.form("fieldname1")="" or request.form("fieldname2")="" or request.form("recCnt")="" then
response.write"<div align=center style='color:red'>error!数据错误!<br>厂商名称输入不完整!<br>厂商编号输入不完整<br>商品号记录数没有输入<br><a href=insert.asp class=n1>返回重新输入</a></div>"
else%>
<form name="form1" action="insert.asp" method="post" onload="text.focus()" onkeydown="if(event.keyCode==13) event.keyCode=9">
厂商号:<%=request.form("fieldname1")%> 厂商名称:<%=request.form("fieldname2")%>,请输入厂商所对应的商品号<br>
<% 
recCnt=cint(request.form("recCnt"))
if reccnt>0 then
for i=1 to recCnt
%>
商品号<%response.write""&i&""%>:<input type="text" name="fieldName3"><br>
<input type=hidden name="fieldName1" value="<%=request("fieldname1")%>"><br>
<input type=hidden name="fieldName2" value="<%=request("fieldname2")%>"><br>


<%
next
%>
<br>

<input type="hidden" name="hnum" value="<%=recCnt%>">
<input type="submit" name="action" value="提交" onkeydown="if(event.keyCode==13){this.click()}">
</form>
<%
else
response.Write("请输入大于0的数!")
end if
end if
END SUB%> 

<%sub ass()%>

<!------指定要录入多少条记录-------------->
<form name="form1" action="insert.asp" method="post" onload="text.focus()" onkeydown="if(event.keyCode==13) event.keyCode=9">
厂商编号:<input type="text" name="fieldName1"><br>
厂商名称:<input type="text" name="fieldName2"><br>
您要录入的记录的条数:<input type="text" name="recCnt"> 
<input type="submit" name="action" value="下一步>>" onkeydown="if(event.keyCode==13){this.click()}">
</form>
<%
end sub
if request.form("action")="下一步>>" then
   Call InputData()  '显示成批录入界面
elseif request.form("action")="提交" then 
Call writeData()  '向数据库批量写入数据
else
call ass()
end if
%><script>
document.forms[0].elements[0].focus();  
</script>
---------------------------------
conn.asp 是数据库连接文件