以下是目前的情况:我有一套产品记录 . 这些产品的价格取决于页面上其他地方的其他信息 . 因此,当我遍历记录集进行输出时,我使用函数计算价格并显示它 . 这一切都很有效 .
现在,为了新的皱纹 . 我需要能够在显示之前按计算的价格对产品进行排序 . 我的尝试是简单地向记录集添加一个新字段,循环记录集一次以计算价格并更新该新字段,然后在再次循环显示之前求助该字段上的记录集 .
不用说,这不起作用 . 无论我在这个记录集上放置了什么设置(lockType,cursorType,cursorLocation),我都会收到一条错误,指出“当前Recordset不支持更新 . 这可能是提供者或所选锁定类型的限制 . ”
有没有办法按照描述进行这项工作,还是有另一种方法来完成这个结果?作为参考,这是我目前正在使用的代码片段 .
set rsProd = server.CreateObject("adodb.recordset")
rsProd.cursorType = adOpenKeyset
rsProd.lockType = adLockPessimistic
rsProd.cursorLocation = adUseServer
rsProd.Open sql, Conn1
'loop through the records and calculate prices'
Do until rsProd.EOF
laPrices = Split(GetParameterProductPrice(rsProd("Product_ID")), "|")
'ERROR OCCURS ON NEXT LINE'
rsProd("Sale") = CDbl(laPrices(0))
rsProd("Sale_Special")= CDbl(laPrices(1))
rsProd.MoveNext
Loop
rsProd.MoveFirst
rsProd.Sort = "Sale_Special, Sale, Product_Code"