批量修改,批量保存?在线等

flowerer 2003-12-26 02:49:29
我做了一个asp程序,功能要求在一个页面上,针对每条纪录,由用户修改不同的字段,而且修改的内容不同,然后进行保存,请问如何实现该修改后的保存工作。谢谢
...全文
63 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxsgssgs 2003-12-26
  • 打赏
  • 举报
回复
同 回复人: my0707(积木) ( )
my0707 2003-12-26
  • 打赏
  • 举报
回复
我以前做B/S时用过这种发法

最好在一页内不要放过多的记录,将rs.pagesize设为10-20之间就行了

my0707 2003-12-26
  • 打赏
  • 举报
回复
改正一下



<input type=hidden name=kenid_<%=i%> value=<%=rs("id")%>> <!--隐藏字段,为记录的编号-->

中的name=kenid_<%=i%>改为:name=keyid_<%=i%>
flowerer 2003-12-26
  • 打赏
  • 举报
回复
to :my0707(积木)
我试一下
nomoodforjoking 2003-12-26
  • 打赏
  • 举报
回复
一个页面的容量是有限的,你不怕装不下吗,如果数据量大的话,会滚几屏哎,晕不晕啊
my0707 2003-12-26
  • 打赏
  • 举报
回复
========================================================
<form action=save.asp method=post>
<table>
<%
rs.pagesize=10 '假设每页显示10条数据
%>
<input type=hidden name=pagesize value=<%=rs.pagesize%>>
<%
for i=1 to rs.pagesize
if rs.eof then exit for
%>
<tr>
<td><input name=字段1_<%=i%> value=<%=rs("字段1")%>>
<td><input name=字段2_<%=i%> value=<%=rs("字段2")%>>
<td><input name=字段2_<%=i%> value=<%=rs("字段2")%>>
<input type=hidden name=kenid_<%=i%> value=<%=rs("id")%>> <!--隐藏字段,为记录的编号-->
<%
rs.movenext
rs.close
%>
</table>
<input type=submit value=保存>
</form>
============================================================
save.asp
<%
for i=1 to cint(request("pagesize"))
sql="update from tablename set 字段1='" & request("字段1_" & i &) & "',字段2='" & request("字段2_" & i &) & "',字段3='" & request("字段3_" & i &) & "' where id=" & cint(request("keyid_" & i))
rs.open sql,3,3
next
%>
===========================================================

关键是表单中各个字段的name名称不可重复
programmer11 2003-12-26
  • 打赏
  • 举报
回复
可以为每一条修改的记录写一条update语句,然后一起执行
flowerer 2003-12-26
  • 打赏
  • 举报
回复
一个页面上有多行纪录,每条纪录有好多字段,每个字段都可以被用户随意修改,用户修改后,提交给数据库,并把修改后的纪录保存到数据库中。清楚了吗
ryuginka 2003-12-26
  • 打赏
  • 举报
回复
你的问题说的不清楚啊
flowerer 2003-12-26
  • 打赏
  • 举报
回复
救命亚
aspczlover 2003-12-26
  • 打赏
  • 举报
回复
如果是批量修改,批量保存,
而且是同多个表产生关系
建议用事务处理:

asql="select * from scdctjtzb1 where id='"&request.form("editid")&"'"
bsql="select * from scdctjtzb2 where pzh='"&request.form("pzhy")&"'"
csql="select * from scdctjtzbbd2 where pzh='"&request.form("pzhy")&"'"
set rs=server.CreateObject("ADODB.RECORDSET")

conn.BeginTrans'=========事务开始=============
'主表的操作
rs.Open asql,conn,3,3
strErr=CheckDBErr(conn)
if strErr<>"" then
Response.Write "<li style=""FONT-SIZE: 14px; MARGIN-LEFT: 40px; FONT-FACE: 宋体_GB2312"">归档失败:<BR>无法打开归档详细表,请与管理员联系(3)"
conn.RollbackTrans
rs.close
set rs=nothing
set conn=nothing
Response.End
end if

if rs.eof=false then
rs("dwbh")=trim(request.form("danwei"))
rs("pzh")=trim(request.form("pzh"))
rs("czr")=trim(request.form("czr"))
rs("chp")=trim(request.form("chp"))
rs("zws")=trim(request.form("zws"))

else
response.write "更新失败1,没有找到记录!"
conn.RollbackTrans
end if

strErr=CheckDBErr(conn)
if strErr<>"" then
Response.Write "<li style=""FONT-SIZE: 14px; MARGIN-LEFT: 40px; FONT-FACE: 宋体_GB2312"">归档失败:<BR>无法打开归档详细表,请与管理员联系(4)"
Response.Write strErr
conn.RollbackTrans
rs.close
set rs=nothing
set conn=nothing
Response.End
end if
rs.Update


strErr=CheckDBErr(conn)
if strErr<>"" then
Response.Write "数据库出错!(6)"
Response.Write strErr
rs.CancelUpdate
rs.close
set rs=nothing
set conn=nothing
Response.End
end if

response.write rs("pzh")
rs.close
set rs=nothing
'关系表的操作1

set rs=server.CreateObject("ADODB.RECORDSET")
rs.Open bsql,conn,3,3
strErr=CheckDBErr(conn)
if strErr<>"" then
Response.Write "<li style=""FONT-SIZE: 14px; MARGIN-LEFT: 40px; FONT-FACE: 宋体_GB2312"">归档失败:<BR>无法打开归档详细表,请与管理员联系(3)"
conn.RollbackTrans
rs.close
set rs=nothing
set conn=nothing
Response.End
end if

if rs.eof=false then
do while not rs.eof
rs("pzh")=trim(request.form("pzh"))
rs.movenext
loop

else
response.write "更新失败2,没有找到记录!"
conn.RollbackTrans
end if

strErr=CheckDBErr(conn)
if strErr<>"" then
Response.Write "<li style=""FONT-SIZE: 14px; MARGIN-LEFT: 40px; FONT-FACE: 宋体_GB2312"">归档失败:<BR>无法打开归档详细表,请与管理员联系(4)"
Response.Write strErr
conn.RollbackTrans
rs.close
set rs=nothing
set conn=nothing
Response.End
end if

rs.Update


strErr=CheckDBErr(conn)
if strErr<>"" then
Response.Write "数据库出错!(6)"
Response.Write strErr
rs.CancelUpdate
rs.close
set rs=nothing
set conn=nothing
Response.End
end if
response.write rs("pzh")
rs.close
set rs=nothing



'关系表的操作2
set rs=server.CreateObject("ADODB.RECORDSET")
rs.Open csql,conn,3,3
strErr=CheckDBErr(conn)
if strErr<>"" then
Response.Write "<li style=""FONT-SIZE: 14px; MARGIN-LEFT: 40px; FONT-FACE: 宋体_GB2312"">归档失败:<BR>无法打开归档详细表,请与管理员联系(3)"
conn.RollbackTrans
rs.close
set rs=nothing
set conn=nothing
Response.End
end if

if rs.eof=false then
do while not rs.eof
rs("pzh")=trim(request.form("pzh"))
rs.movenext
loop

else
response.write "更新失败3,没有找到记录!"
conn.RollbackTrans
end if

strErr=CheckDBErr(conn)
if strErr<>"" then
Response.Write "<li style=""FONT-SIZE: 14px; MARGIN-LEFT: 40px; FONT-FACE: 宋体_GB2312"">归档失败:<BR>无法打开归档详细表,请与管理员联系(4)"
Response.Write strErr
conn.RollbackTrans
rs.close
set rs=nothing
set conn=nothing
Response.End
end if

rs.update
response.write rs("pzh")


strErr=CheckDBErr(conn)
if strErr<>"" then
Response.Write "数据库出错!(6)"
Response.Write strErr
rs.CancelUpdate
rs.close
set rs=nothing
set conn=nothing
Response.End
end if


rs.Close
conn.CommitTrans
set rs=nothing
set conn=nothing
response.write"<script language=vbscript> msgbox "&chr(34)&"更新保存记录成功!" &chr(34) &"</script> "
xupiao 2003-12-26
  • 打赏
  • 举报
回复
up

28,407

社区成员

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

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