高手求救,如何一次性更新多条记录

pangpanglove 2007-04-23 10:56:47
我想一次更新表中的若干条记录,程序如下,运行后,没有什么出现错误提示,但数据库中的记录并没有发生任何变化,也就是没有更新,怎么办呢?

<%
Dim Conn
Dim ConnStr
dim rs
dim str
Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr = "DRIVER={SQL Server};SERVER=szzxlxf;UID=sa;PWD=sa;Database=tvote"
Conn.Open ConnStr
set rs=conn.execute("select * from vote")

%>
<%
sub writedata()
Dim StrSQL, rs
Set rs = server.CreateObject("ADODB.Recordset")
rs.LockType = adLockBatchOptimistic
StrSQL = "SELECT * FROM vote"
rs.Open StrSQL, Conn,,,adCmdText

rs.MoveFirst
While Not rs.EOF
rs("sname") = request.form("sname")
rs("studyl")=request.form("studyl")
rs.MoveNext
Wend
rs.UpdateBatch
end sub
%>




<%

do while not rs.eof
response.write"<form name=tform>"
response.write"<input type=text name=id value="&rs("id")&">"
response.write"<input type=text name=sname value="&rs("sname")&">"
response.write"<input type=text name=studyl value="&rs("studyl")&">"
str=str&rs("id")
response.write"<br>"

rs.movenext
loop
response.write"<input type=submit name=action value=提交>"
%>
<%
response.write"</form>"
%>
<%
if request.form("action")="提交" then
call writedata()
end if
%>
...全文
293 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
pangpanglove 2007-04-24
  • 打赏
  • 举报
回复
不知道对不对,有什么问题吗
weiang_1983 2007-04-23
  • 打赏
  • 举报
回复
sub writedata()
Dim StrSQL, rs
Set rs = server.CreateObject("ADODB.Recordset")
rs.LockType = adLockBatchOptimistic
StrSQL = "SELECT * FROM vote"
rs.Open StrSQL, Conn,3,3

rs.MoveFirst
While Not rs.EOF
rs("sname") = request.form("sname")
rs("studyl")=request.form("studyl")
rs.update
rs.MoveNext
Wend
end sub

试试
GX198302 2007-04-23
  • 打赏
  • 举报
回复
Open 数据集的参数对吗?
pangpanglove 2007-04-23
  • 打赏
  • 举报
回复
高手都来瞧瞧吧
pangpanglove 2007-04-23
  • 打赏
  • 举报
回复
按了提交之后,还是没反映.也没报错,数据库中出没发生变化
jingxiaoping 2007-04-23
  • 打赏
  • 举报
回复
你将你的更新语句改成这个试试,你看你的i值最后输出是多少?
i=0
While Not rs.EOF
rs("sname") = request.form("sname")
rs("studyl")=request.form("studyl")
rs.MoveNext
i=i+1
Wend
response.write "<script>alert('"&i&"');</script>"
pangpanglove 2007-04-23
  • 打赏
  • 举报
回复
我将response.write "<script>alert('"&request.form("sname")&"');</script>"
response.write "<script>alert('"&request.form("studyl")&"');</script>"加上去,按提交后还是没有反映
qiubai1314 2007-04-23
  • 打赏
  • 举报
回复
<%
Dim Conn
Dim ConnStr
dim rs
dim str
Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr = "DRIVER={SQL Server};SERVER=szzxlxf;UID=sa;PWD=sa;Database=tvote"
Conn.Open ConnStr
set rs=conn.execute("select * from vote")

%>
<%
sub writedata()
Dim StrSQL,rs,i
Set rs = server.CreateObject("ADODB.Recordset")
rs.LockType = adLockBatchOptimistic
StrSQL = "SELECT * FROM vote"
rs.Open StrSQL, Conn,,,adCmdText

rs.MoveFirst
While Not rs.EOF
i=i+1
rs("sname") = request.form("sname"&i)
rs("studyl")=request.form("studyl"&i)
rs.MoveNext
Wend
rs.UpdateBatch
end sub
%>




<%

do while not rs.eof
i=i+1
response.write"<form name=tform>"
response.write"<input type=text name=id value="&rs("id")&">"
response.write"<input type=text name=sname"&i&" value="&rs("sname")&">"
response.write"<input type=text name=studyl"&i&" value="&rs("studyl")&">"
str=str&rs("id")
response.write"<br/>"

rs.movenext
loop
response.write"<input type=submit name=action value=提交>"
%>
<%
response.write"</form>"
%>
<%
if request.form("action")="提交" then
call writedata()
end if
%>
lianghaitao2007 2007-04-23
  • 打赏
  • 举报
回复
可以设置参数,将值传过去!!!
jingxiaoping 2007-04-23
  • 打赏
  • 举报
回复
首先程序无法判断数据来源于哪个form中的哪个控件,所以就不会提交任何数据进来。
其次你可以再更新前用
response.write "<script>alert('"&request.form("sname")&"');</script>"
response.write "<script>alert('"&request.form("studyl")&"');</script>"
看一下究竟获取值了没有?获取的值是什么?
pangpanglove 2007-04-23
  • 打赏
  • 举报
回复
还是不行,运行时没有出现任何的问题,但数据库中的数据还是没有发生任何的变化.怎么办呀

28,391

社区成员

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

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