1
2rem 文章题目 asp中利用数组实现数据库记录的批量录入方法(原创)
3作者:yanek
4联系email:[email protected]
包括两个文件
1。allneeddj.asp:实现表单的生成
2. allneeddjresult.asp 处理表单批量录入
3.hbedu.mdb :数据库文件
其数据库结构如下
provinceid:省份编号 数值型
dytaocount:打样套数 数值型
papertaocount:纸样套数 数值型
cpcontent:出片内容 数值型
filename:文件名 文本型
beizhu:备注 备注型
本例子中以10条记录,每条记录6个字段说明.
1。allneeddj.asp
1<html>
2<head>
3<meta content="zh-cn" http-equiv="Content-Language"/>
4<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
5<meta content="Microsoft FrontPage 4.0" name="GENERATOR"/>
6<meta content="FrontPage.Editor.Document" name="ProgId"/>
7<title>需求登记</title>
8</head>
9<body>
10
11
12
set conn=server.createobject("adodb.connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & _
Server.MapPath("hbedu.mdb")
1
2<form action="allneeddjresult.asp" method="POST">
3<div align="center">
4<center>
5<table border="1" bordercolorlight="#FFFFFF" width="700">
6<tr>
7<td colspan="6" width="660">
8<p align="center">需求登记</p></td>
9</tr>
10<tr>
11<td align="center" width="54">省份</td>
12<td align="center" width="66">打样张数</td>
13<td align="center" width="66">纸样张数</td>
14<td align="center" width="66">出片内容</td>
15<td align="center" width="80">文件名</td>
16<td align="center" width="328">
17<p align="center">备注</p></td>
18</tr>
19
20
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
1
2
3<tr>
4<td width="54"><select ```"="" data1"&i="" name="```
5 response.write" 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
1<td width="66"><input ```"="" data2"&i="" name="```
2 response.write" size="8" type="text"/></td>
3<td width="66"><input ```"="" data3"&i="" name="```
4 response.write" size="8" type="text"/></td>
5<td width="66"><select ```"="" data4"&i="" name="```
6 response.write" size="1">
7<option value="1">改动部分</option>
8<option value="2">全部内容</option>
9</select></td>
10<td width="80"><select ```"="" data5"&i="" name="```
11 response.write" 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
1<td width="328"><textarea ```"="" cols="46" data6"&i="" name="```
2 response.write" rows="2"></textarea></td>
3</tr>
4
5
6
next
1
2
3
4<tr>
5<td colspan="6" width="660">
6<p align="center"><input name="B1" type="submit" value="提交"/></p></td>
7</tr>
8</table>
9</center>
10</div>
11</form>
12</body>
13</html>
2.allneeddjresult.asp
1
2rem 定义二维数组存放从表单获取的值
3dim data(10,6)
4for i= 1 to 6
5for j= 1 to 10
6mydata="data"+cstr(i)+cstr(j)
7data(j,i)=request.form(mydata)
8next
9next
1
2rem 输出表单输入的值
3for i= 1 to 10
4for j= 1 to 6
5
6response.write data(i,j)
7
8next
9response.write"
<br/>
1"
2next
3
4'response.end
1
2dim conn,rs
3Set conn = Server.CreateObject("ADODB.Connection")
4conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & _
5Server.MapPath("hbedu.mdb")
6
7
8for i= 1 to 10
9rem 循环批量入库
10
11Set rs=SERVER.CreateObject("ADODB.Recordset")
12rs.Open "hbedu",conn,1,3
13rs.AddNew
14rs("beizhu")=data(i,6)
15rs("filename")=data(i,5)
16rs("cpcontent")=data(i,4)
17rs("papertaocount")=data(i,3)
18rs("dytaocount")=data(i,2)
19rs("provinceid")=data(i,1)
20rs.Update
21rs.close
22set rs=nothing
23
24response.write"ok
<br/>
1"
2next
演示:http://www.zwtd.com/1/yanek/n/needdj2.asp