它在ASP Classic中。 MS-Access DB。
我这样做:INSERT INTO Orders (userId) VALUES (123)"
我要从该行检索的是orderNumber
。它是一个自动递增的数字。
所以我做了:SELECT orderNumber FROM Orders WHERE userId=123
但由于它在同一页面上,SELECT返回: BOF或EOF为True,或者当前记录已被删除。请求的操作需要当前记录。
我见过某个地方RETURNING orderNumber as variable
但它是为了oracle,我不知道如何将它实现到我的asp中:(
set addOrder = Server.CreateObject("ADODB.Command")
addOrder.ActiveConnection = MM_KerenDB_STRING
addOrder.CommandText = "INSERT INTO Orders (userId) VALUES ("&userId&")"
addOrder.CommandType = 1
addOrder.CommandTimeout = 0
addOrder.Prepared = true
addOrder.Execute()
Dim getOrderNumber
Set getOrderNumber = Server.CreateObject("ADODB.Recordset")
getOrderNumber.ActiveConnection = MM_KerenDB_STRING
getOrderNumber.Source = "SELECT orderNumber FROM Orders WHERE userId=" & userId
getOrderNumber.CursorType = 0
getOrderNumber.CursorLocation = 2
getOrderNumber.LockType = 1
getOrderNumber.Open()
session("orderNumber") = getOrderNumber.Fields.Item("orderNumber").value
答案 0 :(得分:1)
如果您使用他们使用ADO对象添加记录的方法,以下内容可能会有所帮助。
http://support.microsoft.com/kb/221931
但实际上没有看到经典ASP代码,很难给你一个正确的答案。