如何实现一次提交,更新多条记录?

ycdiscovery 2008-10-19 10:16:08
现在需要录入全区所有学校的小升初考试的语文成绩,但是不能一个人一个人的录入,那样显然效率太差,现在我的想法是一页显示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
请高手看看是怎么回事,谢谢
...全文
92 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyou6 2008-10-21
  • 打赏
  • 举报
回复
呵呵,很明显,一定要用到集合了哈。。。效率高,代码简单啊!
ccjjww1222 2008-10-20
  • 打赏
  • 举报
回复
录入的话建议写一个SQl
类似:

select 1 union all select 2 union all select 3 .....
insert onto table(name)

GProgrammer 2008-10-19
  • 打赏
  • 举报
回复
rs1.UpdateBatch
lzp4881 2008-10-19
  • 打赏
  • 举报
回复
录入页面:
<form name="form1" method="post" action="save.asp">
<%for i=1 to 50%>
学号:<input type="text" name="id">成绩:<input type="text" name="chn1"><br>
<%next%>
<input type="submit" name="Submit" value="提交" >
</form>


保存页面:save.asp
<%
id=split(request("id"),",")
chn1=split(request("chn1"),",")
for i=0 to UBound(id)
conn.execute("update student set chn1="&chn(i)&" where stuid="&id(i))
next

如果chn1和stuid是字符型的话就加引号
conn.execute("update student set chn1='"&chn(i)&"' where stuid='"&id(i)&"'")
xiaojing7 2008-10-19
  • 打赏
  • 举报
回复
既然要实现一次更新多条记录
要么 在程序中得到记录集,然后循环更新(实现点击一次更新多条)
要么 在SQL中控制,where ....(%) 得到条件(实现执行一次更新操作语句)

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧