一个奇怪的关于批量修改数据库问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 15:44:57
大家请看下面一段程序,我的本意思是想让程序每循环一次就弹出一个对话框,然后对数据库中的相应记录进行修改。可是我运行了N次,结果都是对话框确实弹出了相应次数,可是数据库里只修改了第一次循环的结果,后面的几次循环竟然没效果,也就是说数据库里只修改了一次。有没有高手能解决一下我的问题呀?小弟在此先谢了!
这个程序如下:
<%
if request("action")="save" then
nam=split(request("nam"),",")
lie=split(request("lie"),",")
For k=0 to ubound(lie)
if lie(k)="选择" or nam(k+1)="" then
response.write "<script language='javascript'>alert('系统检测到你对此次考核不很重视,竟然没有给"&nam(k+1)&"打分');</script>"
else
response.write "<script language='javascript'>alert('好,测试成功!结果为:"&k&","&lie(k)&"');</script>"
conn.execute("update student set zyzs='"&lie(k)&"' where sname='"&nam(k)&"'")
end if
next
end if
%>
高手请指教!
你写的程序我也用了,可是问题依然存在呀!和以前的效果一样,怎么办?我想我的程序逻辑应该没问题,竟然对话框能弹出相应

response.write "<script language='javascript'>alert('好,测试成功!结果为:"&k&","&lie(k)&"');</script>"
conn.execute("update student set zyzs='"&lie(k)&"' where sname='"&nam(k)&"'")
因为javascript 是在客户端进行的,asp处理完文件(或是接收到了response.end命令)之后发给了客户端,
而conn.execute则是在服务器端处理的,它不可能说在中间有交互。
也就是说,你想让弹出一个对话框修改一个记录,再弹出一个对话框修改一个记录是不可能的。
在你上面的代码里面,一但出现了懑足lie(k)="选择" or nam(k+1)=""的条件,则停止了asp处理,这样你后面的数据处理全是没有用的,应该将response.end 去掉,这样在不满足lie(k)="选择" or nam(k+1)=""条件时可以修改所有记录,否则只能修改部分记录。。

改为:
<%
if request("action")="save" then
nam=split(request("nam"),",")
lie=split(request("lie"),",")
For k=0 to ubound(lie)
if lie(k)="选择" or nam(k+1)="" then
response.write "<script language='javascript'>alert(