asp中关于select in的操作

asp网页,从上一个页面中的复选框中取得了id值,再在数据库中进行操作.以下是代码uid=replace(request.Form("menberid"),"","")s... asp网页,从上一个页面中的复选框中取得了id值,再在数据库中进行操作.以下是代码

uid=replace(request.Form("menberid")," ","")

set rs=server.CreateObject("adodb.recordset")
rs.open "select point from menber where id in ("& uid &")",conn,1,3
rs("point")=rs("point")+1
rs.update
rs.close
set rs=nothing

这里我有两点不明白.
接收到的uid都有一个空格.如1, 2, 3 这是为什么?一定要用replace才行么?

第二点,为什么我用上面取得的值进行了数据库操作,都只有最后一个id的内容更新了,也就是说,取得的值只有一个有效?
肯定是一样的,都是从数据库中读取的,全loop过来的.是一样,而且,我从新写个接收id的页面查看了一下,可以接收到多个ID,

jlilo 你说明白点,要怎么做?
展开
 我来答
bdstudy
2008-10-30 · TA获得超过1781个赞
知道小有建树答主
回答量:460
采纳率:50%
帮助的人:367万
展开全部
首先,uid接收的是一个数组,这个数组有两个元素,1,2,3。所以有逗号隔开。
而replace是替换符号。你这里,是把空格去掉。然后赋值给uid

为什么只有最后一个被修改,因为你查询的结果有三个满足条件,你却没有使用循环,一一做修改。只改了最后一个。为什么是最后一个呢?因为在查询时,默认是按升序排列的。

应该使用循环(循环语句有几种,我这有while....wend):
set rs=server.CreateObject("adodb.recordset")
rs.open "select point from menber where id in ("& uid &")",conn,1,3
while not rs.eof
rs("point")=rs("point")+1
rs.update
rs.movenext
wend
rs.close
set rs=nothing
jlilo
2008-10-30 · TA获得超过1184个赞
知道小有建树答主
回答量:824
采纳率:33%
帮助的人:295万
展开全部
1.复选框 传递过来的是一个数组

格式,当然就含有 那种1,2,3,4等

replace 是asp的一个替换函数,作用是把数组中间的逗号替换掉。

2.你用那种方式去更新是不科学的

最好是用循环,嵌套进去就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dangyj
2008-10-29 · TA获得超过1159个赞
知道小有建树答主
回答量:1040
采纳率:0%
帮助的人:1102万
展开全部
你的checkbox的名字是不是一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式