![]() |
#2
multiple19022008-10-19 22:17
设计好每个input的name属性,然后用For Each re In Request.Form来遍历,组合出语句来。
我写的一段代码: ![]() ' 显示表单 Sub ShowTestScoreEdit(TestID,ClassID) Dim rs,Subjects,i,c Set rs=Conn.Execute("SELECT * From Ns_Student Where ClassID=" & ClassID & " Order By ShowOrder Asc") Subjects=Split(Conn.Execute("Select Subject From Ns_Test Where TestID=" & TestID)("Subject"),"|") %> <script> var testid=<%=TestID%>; var classid=<%=ClassID%>; </script> <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#DFDFDF"> <tr bgcolor="#CCCCCC"> <!--<td width="50" height="30"><div align="center"><strong>编号</strong></div></td>--> <!--<td width="80" height="30"><div align="center"><strong>学号</strong></div></td>--> <td height="30"><div align="center"><strong>姓名</strong></div></td> <% For i=1 to UBound(Subjects)-1 %> <td width="50" height="30"><div align="center"><strong><%=GetSubjectName(Subjects(i))%></strong></div></td> <% Next %> </tr> <% c=0 Randomize While Not rs.EOF c=c+1 %> <tr align="center" bgcolor="#F5F5F5"> <!--<td height="25"><a href="Student_Show.asp?id=<%=rs("StudentID")%>">S<%=rs("StudentID")%></a></td>--> <!--<td><%=rs("RegOrder")%></td>---> <td><%=Encode(rs("StudentName"))%></td> <% For i=1 to UBound(Subjects)-1 Response.Write "<td id=""td" & c & "n" & Subjects(i) & """><input style=""width:30px;text-align:center;"" size=""3"" type=""text"" name=""Score" & rs("StudentID") & "n" & Subjects(i) & """ id=""sScore" & c & "n" & Subjects(i) & """ value=""" & GetScore(rs("StudentID"),TestID,Subjects(i)) & """ onkeypress=""jumpto(" & c & "," & Subjects(i) & ",event)"" onchange=""paint(" & c & "," & Subjects(i) & ")""/><script>setTimeout(""paint(" & c & "," & Subjects(i) & ")""," & Int(Rnd*(100)+c*(100)+2000) & ")</script></td>" Next %> </tr> <% rs.MoveNext Wend %> </table> <% End Sub ![]() '接受数据 <% Dim s,t For Each s In Request.Form If (Left(s,5)="Score") Then t=Replace(s,"Score","") t=Split(t,"n") ' StudentID,SubjectID SaveScore ID,t(0),t(1),Request.Form(s) Response.Write ". " Response.Flush End If Next 'Response.Write "<br />成绩录入成功!下面转向测试页面" 'Redirect "Test_Show.asp?ID=" & ID Response.Write "<br />成绩录入成功!下面将对成绩进行排序<script>setTimeout(""MM_showHideLayers('Console','','show')"",300)</script>" Redirect "Test_Score_Sort.asp?ID=" & ID & "&ClassID=" & ClsID %> |
现在需要录入全区所有学校的小升初考试的语文成绩,但是不能一个人一个人的录入,那样显然效率太差,现在我的想法是一页显示50个考生,每个考生占一行,每一行中包含准考证号、文本框(输入语文成绩),页面下方是提交按钮,全部录入完50个考生的语文成绩后,点击提交就录入了50个考生的语文成绩。然后转向下50个考生以继续录入。
表:student。相关字段:id(准考证号),chn1(语文成绩)。还有其他的,就不列举了。
按钮sub(value=更新),文本框chn1(录入成绩的)
以前我做的都是针对每一条记录的更新,但如何实现一次更新多条记录呢?
下面的代码执行后不能实现这个功能:
if request("sub")="更新" then
do while not rs.eof
stuid=rs("id")
sql1="select * from student where id="&stuid&""
rs1.open sql1,conn,1,3
if not rs1.eof then
rs1("chn1")=request("chn1")
rs1.update
end if
rs1.close
rs.movenext
loop
end if
请高手看看是怎么回事,谢谢
[[it] 本帖最后由 ycdiscovery 于 2008-10-19 22:07 编辑 [/it]]