dans ASP Classic. MS-Access DB.SQL SELECT a inséré les données du tableau
i do: INSERT INTO Orders (userId) VALUES (123)"
ce que je veux récupérer est orderNumber
de cette ligne. C'est un numéro d'auto-incrémentation.
donc je l'ai fait: SELECT orderNumber FROM Orders WHERE userId=123
mais comme il est sur la même page, le rendement SELECT: BOF ou EOF est vrai, ou l'enregistrement en cours a été supprimé. L'opération demandée nécessite un enregistrement en cours.
je l'ai vu quelque part RETURNING orderNumber as variable
mais il était pour oracle et je ne sais pas comment le mettre en œuvre dans mon 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
Pouvons-nous voir une partie du code ASP que vous utilisez pour réellement exécuter l'instruction SQL? –
désolé, je supposais (WRONG) que ce n'était pas pertinent –
Est-ce que la première instruction réellement entrer des données dans votre table? Je veux m'assurer que ce n'est pas un problème avec la première déclaration. Donc, lorsque vous exécutez la page et obtenez l'erreur est-il des données dans votre base de données d'accès? –