标题:如何通过复选框传递数值后从数据库中获取相应的ID值后读出数据…………?
只看楼主
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
得分:0 

现在我读了数据想写入进数据库[修改操作],可是按下列代码只能写入最后一条数据,请问怎么循环才能将复选框中的ID项目全部写入进数据库中?
代码如下:

a=request.Form("id")
b=split(a,",")

for i=0 to UBound(b)
if i = 0 then m=b(i)
if i <>0 then m=m&","&b(i)
next
'response.Write(m)
m="("&m&")"
set rs= server.CreateObject("adodb.recordset")
sql = "select * from D_Order where M_id in "&m
'response.Write sql
rs.open sql,conn,3,3

rs("M_Code")=session("Onum")
rs.update


rs.close
conn.close
set rs=nothing


2006-11-24 12:06
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
得分:0 
搞定,这样就行…………


a=request.Form("id")
b=split(a,",")

for i=0 to UBound(b)
if i = 0 then m=b(i)
if i <>0 then m=m&","&b(i)
next
'response.Write(m)
m="("&m&")"
set rs= server.CreateObject("adodb.recordset")
sql = "select * from D_Order where M_id in "&m
'response.Write sql
rs.open sql,conn,2,3
do while not rs.eof
rs("M_Code")=session("Onum")
rs.update
rs.movenext
loop
rs.close
conn.close
set rs=nothing

我老是不习惯用rs.eof功能…………

[此贴子已经被作者于2006-11-24 13:01:07编辑过]


2006-11-24 13:00
做人很低调
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:1268
专家分:0
注 册:2006-8-2
得分:0 
更新多条记录 最好用
再创建一个RS记录集
sql = "update .. set .. where.."
这样比你循环更新每一条记录的方法效率要高
你用的循环的方法很浪费服务器资源
要更新的记录很多的时候容易超时

其实我很低调,只是你不知道...
2006-11-24 13:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-104836-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.269127 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved