Вот текущая ситуация: у меня есть набор продуктов. Цена этих продуктов зависит от другой информации в другом месте на странице. Поэтому, просматривая набор записей для вывода, я вычисляю цену с помощью функции и отображаю ее. Все это прекрасно работает.
Теперь для новой морщины. Мне нужно уметь сортировать товары по рассчитанной цене, прежде чем я их покажу. Моя попытка состояла в том, чтобы просто добавить новое поле в набор записей, один раз просмотреть набор записей, чтобы рассчитать цену и обновить это новое поле, а затем применить набор записей в этом поле, прежде чем снова выполнить цикл для отображения.
Излишне говорить, что это не работает. Независимо от того, какие настройки (lockType, cursorType, cursorLocation) я наложил на этот набор записей, у меня появляется сообщение об ошибке «Текущий набор записей не поддерживает обновление. Это может быть ограничением поставщика или выбранного типа блокировки».
Есть ли способ сделать эту работу, как описано, или есть другой способ достижения этого результата? Для справки приведен фрагмент кода, с которым я сейчас работаю.
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"