asp form提交 批量修改记录 无法循环

想要一次修改一列记录,然而每次只修改第一条记录,没有循环望高手指点!出错的应该在程序最后面的Fori=LBound(ID)ToUBound(ID)<!--#include... 想要一次修改一列记录,然而每次只修改第一条记录,没有循环 望高手指点!出错的应该在程序最后面的 For i=LBound(ID) To UBound(ID)

<!--#include file="top.asp"-->

<%call main()%>
<%sub main()%>
<%
if Request("action") = "edit" then
call edit()
else
call dudao()
end if
%>
<%end sub%>

<%sub dudao()%>
<table width="980" align="center" bgcolor="#F1F3F5">
<tr>
<td>
<tr vlign="top">

<%s=trim(Request.Form("xueqi"))%>
<td height="33" align="center" bgcolor="#F1F3F5"><span style="font-size: 16pt; font-weight: bold;">
成员名单</span></td>
</tr>
<tr>
<td>

<%
set rs2 = server.createobject("adodb.recordset")
sql = "select * from dudao order by id asc "
rs2.open sql,conn,1,1
%>

<tr><td >
<table border="1" style="table-layout: fixed; word-wrap:break-word;" align="center" bgcolor="#F1F3F5">
<tr>
<th width="40">序号</td>
<th width="100">原所在学院</td>
<th width="80">姓名</td>
<th width="80">记录1</td>
<th width="80">电话</td>
<th width="100">手机</td>
<th width="150">记录2</td>
</tr>
<%if rs2.bof or rs2.eof then%>
<tr align="left" bgcolor="#F1F3F5">
<td height="25" colspan="2">暂无信息</td>
</tr>
<%else%>

<%
j=rs2.eof
for i=1 to rs2.recordcount
if rs2.eof then
exit for
end if
%>

<tr>
<form name="form" method="post" action="dudao.asp?action=edit&ID=<%=rs2("ID")%>" onsubmit="return check(this)">
<td><%=rs2("id")%></td>
<td><%=rs2("xy")%></td>
<td><%=rs2("xm")%></td>
<td><input type="text" size="180" name="jl1" value="<%=rs2("jl1")%>"></td>
<td><%=rs2("phone")%></td>
<td><%=rs2("tel")%></td>
<td><input type="text" size="180" name="jl2" value="<%=rs2("jl2")%>"></td>

</tr>

<%
rs2.MoveNext
next
%>

<%end if%>
</td>
</tr>
</table>
<input type="submit" name="Submit3" value=" 修改 ">
</form>

</td>
</tr>
</table>
<!--#include file="bottom.asp"-->
<%end sub%>

<%sub edit()%>
<%
dim jl1,id
jl1=request("jl1")
jl1=Split(jl1,",")
jl2=request("jl2")
jl2=Split(jl2,",")
ID=request("ID")
ID=Split(ID,",")
For i=LBound(ID) To UBound(ID)
set rs = server.createobject("adodb.recordset")
sql = "select * from dudao where ID="&ID(i)&" "
rs.open sql,conn,1,3

rs("jl1")=jl1(i)
rs("jl2")=jl2(i)
rs.Update

Next
%>
<script language="javascript">
location.href = "dudao.asp"
</script>

<%end sub%>
我去掉了edit 后面的 &ID=<%=rs2("ID")%> 可还是不行 只修改第一条记录
展开
 我来答
劳静殊e7
2008-04-16 · TA获得超过642个赞
知道小有建树答主
回答量:403
采纳率:0%
帮助的人:507万
展开全部
<form name="form" method="post" action="dudao.asp?action=edit&ID=<%=rs2("ID")%>" onsubmit="return check(this)">
这样写只能提交一个id,所以只能修改一条记录
改成
<form name="form" method="post" action="dudao.asp?action=edit" onsubmit="return check(this)"> 并且要放在循环之前,也就是
<%
j=rs2.eof
for i=1 to rs2.recordcount
if rs2.eof then
exit for
end if
%> 这段代码的前面
然后在循环里放一个隐藏域保存id

<input name="id" type="hidden" id="id" value="<%=rs2("ID")%>">

如下:
'...............这里就不写了
<%else%>

<form name="form" method="post" action="dudao.asp?action=edit" onsubmit="return check(this)">

<%
j=rs2.eof
for i=1 to rs2.recordcount
if rs2.eof then
exit for
end if
%>

<tr><input name="id" type="hidden" id="id" value="<%=rs2("ID")%>"> '隐藏域
<td><%=rs2("id")%></td>
<td><%=rs2("xy")%></td>
<td><%=rs2("xm")%></td>
<td><input type="text" size="180" name="jl1" value="<%=rs2("jl1")%>"></td>
<td><%=rs2("phone")%></td>
<td><%=rs2("tel")%></td>
<td><input type="text" size="180" name="jl2" value="<%=rs2("jl2")%>"></td>

</tr>

<%
rs2.MoveNext
next
%>

<%end if%>
</td>
</tr>
</table>
<input type="submit" name="Submit3" value=" 修改 ">
</form>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
191909837
2008-04-16 · 超过47用户采纳过TA的回答
知道答主
回答量:181
采纳率:0%
帮助的人:148万
展开全部
dudao.asp?action=edit&ID=<%=rs2("ID")%>"
才给了一个。当然只改一个

代码太长。看着眼花。

给你个例子

For I = 1 To 10
<Input name="D<%=I%>" Type="Text" />
Next

For X = 1 To 10
Conn.Execute("UpDate Table Set A='D"&I&"' Where B=D"&I&")
Next
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式