asp中利用数组实现数据库记录的批量录入方法

王朝asp·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

asp中利用数组实现数据库记录的批量录入方法(原创)

演示: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

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航