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")%> 可还是不行 只修改第一条记录 展开
<!--#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")%> 可还是不行 只修改第一条记录 展开
2个回答
展开全部
<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>
这样写只能提交一个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>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
才给了一个。当然只改一个
代码太长。看着眼花。
给你个例子
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询