演示:http://www.zwtd.com/1/yanek/n/needdj2.asp
<%
rem 文章题目 asp中利用数组实现数据库记录的批量录入方法(原创)
作者:yanek
联系email:aspboy@263.net
%>
包括两个文件
1。allneeddj.asp:实现表单的生成
2. allneeddjresult.asp 处理表单批量录入
3.hbedu.mdb :数据库文件
其数据库结构如下
provinceid:省份编号 数值型
dytaocount:打样套数 数值型
papertaocount:纸样套数 数值型
cpcontent:出片内容 数值型
filename:文件名 文本型
beizhu:备注 备注型
本例子中以10条记录,每条记录6个字段说明.
1。allneeddj.asp
<html>
<head>
<meta http-equiv="content-language" content="zh-cn">
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<meta name="generator" content="microsoft frontpage 4.0">
<meta name="progid" content="frontpage.editor.document">
<title>需求登记</title>
</head>
<body>
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq=" & _
server.mappath("hbedu.mdb")
%>
<form method="post" action="allneeddjresult.asp">
<div align="center">
<center>
<table border="1" width="700" bordercolorlight="#ffffff">
<tr>
<td width="660" colspan="6">
<p align="center">需求登记</td>
</tr>
<tr>
<td width="54" align="center">省份</td>
<td width="66" align="center">打样张数</td>
<td width="66" align="center">纸样张数</td>
<td width="66" align="center">出片内容</td>
<td width="80" align="center">文件名</td>
<td width="328" align="center">
<p align="center">备注</td>
</tr>
<%
rem 通过循环动态生成不同名称表单域
for i=1 to 10
%>
<%
set rs=server.createobject("adodb.recordset")
sql="select * from provinceinfo "
rs.open sql,conn,1,1
set rs1=server.createobject("adodb.recordset")
sql1="select * from filename "
rs1.open sql1,conn,1,1
%>
<tr>
<td width="54"><select name="<% response.write"data1"&i %>"
size="1">
<%
do while not rs.eof
if province=cstr(rs("id")) then
sel="selected"
else
sel=""
end if
response.write "<option " & sel & " value='"+cstr(rs("id"))+"'>"+rs("province")+"</option>"+chr(13)+chr(10)
rs.movenext
loop
set rs=nothing
%> </select></td>
<td width="66"><input type="text" name="<% response.write"data2"&i %>" size="8"></td>
<td width="66"><input type="text" name="<% response.write"data3"&i %>" size="8"></td>
<td width="66"><select size="1" name="<% response.write"data4"&i %>">
<option value="1">改动部分</option>
<option value="2">全部内容</option>
</select></td>
<td width="80"><select name="<% response.write"data5"&i %>"
size="1">
<%
do while not rs1.eof
if filename=cstr(rs1("filename")) then
sel="selected"
else
sel=""
end if
response.write "<option " & sel & " value='"+cstr(rs1("filename"))+"'>"+rs1("filename")+"</option>"+chr(13)+chr(10)
rs1.movenext
loop
set rs1=nothing
%> </select> </td>
<td width="328"><textarea rows="2" name="<% response.write"data6"&i %>" cols="46"></textarea></td>
</tr>
<% next %>
<tr>
<td width="660" colspan="6">
<p align="center"><input type="submit" value="提交" name="b1"></td>
</tr>
</table>
</center>
</div>
</form>
</body>
</html>
2.allneeddjresult.asp
<%
rem 定义二维数组存放从表单获取的值
dim data(10,6)
for i= 1 to 6
for j= 1 to 10
mydata="data"+cstr(i)+cstr(j)
data(j,i)=request.form(mydata)
next
next
%>
<%
rem 输出表单输入的值
for i= 1 to 10
for j= 1 to 6
response.write data(i,j)
next
response.write"<br>"
next
'response.end
%>
<%
dim conn,rs
set conn = server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq=" & _
server.mappath("hbedu.mdb")
for i= 1 to 10
rem 循环批量入库
set rs=server.createobject("adodb.recordset")
rs.open "hbedu",conn,1,3
rs.addnew
rs("beizhu")=data(i,6)
rs("filename")=data(i,5)
rs("cpcontent")=data(i,4)
rs("papertaocount")=data(i,3)
rs("dytaocount")=data(i,2)
rs("provinceid")=data(i,1)
rs.update
rs.close
set rs=nothing
response.write"ok<br>"
next
%>
演示:http://www.zwtd.com/1/yanek/n/needdj2.asp
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器