[心缘地方]同学录
首页 | 功能说明 | 站长通知 | 最近更新 | 编码查看转换 | 代码下载 | 常见问题及讨论 | 《深入解析ASP核心技术》 | 王小鸭自动发工资条VBA版
登录系统:用户名: 密码: 如果要讨论问题,请先注册。
发表人 主题:关于一篇批量录入方法的疑惑。
王新安
身份:user
发帖:60
登陆次数:23
1F 发表于 2006/8/9 18:37:18
下面的是那篇文章,其中红色的地方让我非常不解。provinceinfo,filename这两个表从哪里来的,表结构是怎么样的。怎么都没讲。叫人家怎么理解啊?麻烦了,呵呵~~
包括两个文件
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
%>

嘎嘎,是我
身份:admin
发帖:1435
登陆次数:3225
2F 发表于 2006/8/9 19:17:56
恩,文章里没有提。

自己弄一个就行了,看他后面用了哪些字段,自己建就是了,

比如id,province

王新安
身份:user
发帖:60
登陆次数:23
3F 发表于 2006/8/14 8:18:59
呵呵~~也是。

 
标题:
消息图标:                                             
                                            
正文:



* UBB 代码开启

 
CopyRight © 心缘地方 2005-2999. All Rights Reserved