ASP程序中的批量提交表单 50
<formmethod="POST"action="save_member.asp"><tablealign=centerwidth="500"bgcolor="#E6E...
<form method="POST" action="save_member.asp">
<table align=center width="500" bgcolor="#E6E6E6">
<tr> <td align=center>姓名</td><td align=center>工号</td><td align=center>职务</td></tr>
<% do while not rs.eof%>
<tr><td height="40" width="150">
<input type="form" name="VarName" size="10" class="form" value="<%=rs("name")%>">
</td>
<td height="40" width="150">
<input type="form" name="id_num" size="10" class="form" value="<%=rs("id_num")%>">
</td>
<td height="40" width="150">
<input type="form" name="work" size="10" class="form" value="<%=rs("work")%>">
</td></tr>
<% rs.MoveNext
loop %>
<tr><td colspan=3 align=right><input type=submit value=提交></td></tr>
</form>
以上是要提交的表单,后面是表单的处理程序
<%
If Not IsEmpty(Request.Form) Then
If Not Request.Form("id_num") = "" Then
VarName=Trim(Request.Form("VarName"))
id_num=Trim(Request.Form("id_num"))
work=Trim(Request.Form("work"))
arrayId_num = split(Id_num,",")
arrayVarname = split(VarName,",")
arrayWork = split(Work,",")
for i=lbound(arrayID_num) to ubound(arrayID_num)
strSql = "UPDATE [member] SET [name]='" & arrayVarName(i) & "', [work]='" & arrayWork(i) & "' WHERE ID_num = '" & arrayID_num(i) & "'"
conn.execute strSql
next
Response.end
End If
End If
%>
问题是每次提交后只有表单的第一行的数据能够被更新到数据库中,不知道是哪里出了问题,不知道用什么工具可以给ASP程序设置断点并查看数据在内存中的情况以及循环的每步中SQL语句里的真假判断情况.
"whliuwanli"所说的我也知道,但是我一次提交大几十个数据,一个一个命名不实现啊
问题已经解决,是因为空格的缘故 展开
<table align=center width="500" bgcolor="#E6E6E6">
<tr> <td align=center>姓名</td><td align=center>工号</td><td align=center>职务</td></tr>
<% do while not rs.eof%>
<tr><td height="40" width="150">
<input type="form" name="VarName" size="10" class="form" value="<%=rs("name")%>">
</td>
<td height="40" width="150">
<input type="form" name="id_num" size="10" class="form" value="<%=rs("id_num")%>">
</td>
<td height="40" width="150">
<input type="form" name="work" size="10" class="form" value="<%=rs("work")%>">
</td></tr>
<% rs.MoveNext
loop %>
<tr><td colspan=3 align=right><input type=submit value=提交></td></tr>
</form>
以上是要提交的表单,后面是表单的处理程序
<%
If Not IsEmpty(Request.Form) Then
If Not Request.Form("id_num") = "" Then
VarName=Trim(Request.Form("VarName"))
id_num=Trim(Request.Form("id_num"))
work=Trim(Request.Form("work"))
arrayId_num = split(Id_num,",")
arrayVarname = split(VarName,",")
arrayWork = split(Work,",")
for i=lbound(arrayID_num) to ubound(arrayID_num)
strSql = "UPDATE [member] SET [name]='" & arrayVarName(i) & "', [work]='" & arrayWork(i) & "' WHERE ID_num = '" & arrayID_num(i) & "'"
conn.execute strSql
next
Response.end
End If
End If
%>
问题是每次提交后只有表单的第一行的数据能够被更新到数据库中,不知道是哪里出了问题,不知道用什么工具可以给ASP程序设置断点并查看数据在内存中的情况以及循环的每步中SQL语句里的真假判断情况.
"whliuwanli"所说的我也知道,但是我一次提交大几十个数据,一个一个命名不实现啊
问题已经解决,是因为空格的缘故 展开
2个回答
展开全部
是不是循环体老在第一个
换for i=1 to ubound……
……
看看
要不,就直接在FORM里循环数据的时候加个数字在后边:循环成为VARNAME1、VARNAME2……
这样,在处理页里也不用SPLIT了,直接循环就OK了
换for i=1 to ubound……
……
看看
要不,就直接在FORM里循环数据的时候加个数字在后边:循环成为VARNAME1、VARNAME2……
这样,在处理页里也不用SPLIT了,直接循环就OK了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Conn.exeCute("Update [YF_OrderAddress] Set OrderCode='"&AddCode&"',OrderAdmin='"&AddUser&"',OrderAddress='"&AddAddress&"',OrderPost='"&AddPost&"',OrderPhone='"&AddPhone&"',OrderMoblie='"&AddMoblie&"' where UserName='"&Session("YF_User")&"' and ID="&Addressid&"")
这样的写法看看
这样的写法看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询