Indsæt med parametre og @@identity i samme sp
Hi E,Jeg har et asp-script der indsætter en ny entry i en database:
Dim oCmd
Set oCmd = Server.CreateObject("ADODB.Command")
Set oCmd.ActiveConnection = oConn
oCmd.CommandText = "procTest"
oCmd.CommandType = adCmdStoredProc
oCmd.Parameters.Append = oCmd.CreateParameter("@Noget", adVarChar, adParamInput, 10, "noget")
oCmd.Parameters.Append = oCmd.CreateParameter("@Andet", adVarChar, adParamInput, 10, "andet")
Jeg vil nu gerne have @@idendtity tilbage og i stedet for at oprette et nyt recordset med SELECT @@identity... tænkte jeg, at jeg kunne anvende RETURN @@identity i selve procTest og så anvende:
oCmd(0).Direction = adParamReturnValue
til at hente værdien
Men dette virker ikke... Hvis jeg anvender oCmd(0) får jeg godt nok @@identity værdien, men det indsættes ikke noget i den oprettede entry - de overførte værdier for @Noget og @Andet sættes ikke ind i databasen.
Sletter jeg derimod linjen med oCmd(0) sættes tingene fint ind i tabellen, men jeg får selvsagt ikke @@identity tilbage.
Sker der en forstyrrelse af værdierne, når man blander oCmd.Parameter.Append og oCmd(0).Direction?