|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。<%
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>
<metahttp-equiv="Content-Language"content="zh-cn">
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<metaname="GENERATOR"content="MicrosoftFrontPage4.0">
<metaname="ProgId"content="FrontPage.Editor.Document">
<title>需求挂号</title>
</head>
<body>
<%
setconn=server.createobject("adodb.connection")
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&_
Server.MapPath("hbedu.mdb")
%>
<formmethod="POST"action="allneeddjresult.asp">
<divalign="center">
<center>
<tableborder="1"width="700"bordercolorlight="#FFFFFF">
<tr>
<tdwidth="660"colspan="6">
<palign="center">需求挂号</td>
</tr>
<tr>
<tdwidth="54"align="center">省分</td>
<tdwidth="66"align="center">打样张数</td>
<tdwidth="66"align="center">纸样张数</td>
<tdwidth="66"align="center">出片内容</td>
<tdwidth="80"align="center">文件名</td>
<tdwidth="328"align="center">
<palign="center">备注</td>
</tr>
<%
rem经由过程轮回静态天生分歧称号表单域
fori=1to10
%>
<%
setrs=server.createobject("adodb.recordset")
sql="select*fromprovinceinfo"
rs.opensql,conn,1,1
setrs1=server.createobject("adodb.recordset")
sql1="select*fromfilename"
rs1.opensql1,conn,1,1
%>
<tr>
<tdwidth="54"><selectname="<%response.write"data1"&i%>"
size="1">
<%
dowhilenotrs.eof
ifprovince=cstr(rs("id"))then
sel="selected"
else
sel=""
endif
response.write"<option"&sel&"value="+CStr(rs("id"))+">"+rs("province")+"</option>"+chr(13)+chr(10)
rs.movenext
loop
setrs=nothing
%></select></td>
<tdwidth="66"><inputtype="text"name="<%response.write"data2"&i%>"size="8"></td>
<tdwidth="66"><inputtype="text"name="<%response.write"data3"&i%>"size="8"></td>
<tdwidth="66"><selectsize="1"name="<%response.write"data4"&i%>">
<optionvalue="1">修改部分</option>
<optionvalue="2">全体内容</option>
</select></td>
<tdwidth="80"><selectname="<%response.write"data5"&i%>"
size="1">
<%
dowhilenotrs1.eof
iffilename=cstr(rs1("filename"))then
sel="selected"
else
sel=""
endif
response.write"<option"&sel&"value="+CStr(rs1("filename"))+">"+rs1("filename")+"</option>"+chr(13)+chr(10)
rs1.movenext
loop
setrs1=nothing
%></select> </td>
<tdwidth="328"><textarearows="2"name="<%response.write"data6"&i%>"cols="46"></textarea></td>
</tr>
<%next%>
<tr>
<tdwidth="660"colspan="6">
<palign="center"><inputtype="submit"value="提交"name="B1"></td>
</tr>
</table>
</center>
</div>
</form>
</body>
</html>
2.allneeddjresult.asp
<%
rem界说二维数组寄存从表单猎取的值
dimdata(10,6)
fori=1to6
forj=1to10
mydata="data"+cstr(i)+cstr(j)
data(j,i)=request.form(mydata)
next
next
%>
<%
rem输入表单输出的值
fori=1to10
forj=1to6
response.writedata(i,j)
next
response.write"<br>"
next
response.end
%>
<%
dimconn,rs
Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&_
Server.MapPath("hbedu.mdb")
fori=1to10
rem轮回批量进库
Setrs=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
setrs=nothing
response.write"ok<br>"
next
%>
演示:http://www.zwtd.com/1/yanek/n/needdj2.asp
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|