读书人

用in如何不能批量更新了呢

发布时间: 2012-03-05 11:54:01 作者: rapoo

用in怎么不能批量更新了呢?
<div align= "center ">
<input type= "checkbox " name= "UserID " value= " <%=rsT( "UserID ")%> " />
</div>

这里可以复选,相关代码如下:
If InStr(UserID, ", ")> 0 Then
sql = "select * from Fee where UserID in ( "&UserID& ") order by FeeID desc "
Else
sql = "select * from Fee where UserID = "&UserID& " order by FeeID desc "
End If
Set rs = Server.CreateObject( "Adodb.Recordset ")
rs.Open sql, cn, 1, 3
If rs.EOF And rs.bof Then
Response.Write( "该会员不存在 ")
Exit Sub
Else
Do While Not rs.EOF
tmpUserID = rs( "UserID ")
Set tmpRs = cn.Execute( "select top 1 * from Fee Where UserID = "&tmpUserID& " order by FeeID desc ")
tmpBalance = tmpRs( "Balance ")
rs.addnew
rs( "UserID ") = tmpUserID
rs( "FeeActionID ") = tmpFeeActionID
rs( "Amount ") = tmpBalance
rs( "Balance ") = 0
rs( "PostUser ") = ManageUser
rs.update
rs.movenext
Loop
End If
rs.Close
Set rs = Nothing

我看动易也是这样写的,怎么他的可以,我的不可以呢?执行了以后,总是执行第一条语句,后面的没反应


[解决办法]
我意思是rs.addnew去掉,保留rs.update
rs.addnew是新增一条记录,


你上面的操作等于把UserID复制一份。
UserID如果是唯一的,如果是主键,肯定不行。

[解决办法]
If InStr(UserID, ", ")> 0 Then
sql = "select * from Fee where UserID in ( "&UserID& ") order by FeeID desc "
'这里有错误吧
select * from Fee where UserID in ( "1 ", "2 ") order by FeeID desc
request=( "userid ")值是 "1,2 "所以只能一条记录
用spilt解决

Else
sql = "select * from Fee where UserID = "&UserID& " order by FeeID desc "
End If

读书人网 >ASP

热点推荐