GimboMedlem sedan dec. 20001 630 inlägg
Tja,
jag har följande sql sats i min asp kod:
SQL = "INSERT INTO tblSubmittedForms (FormID, SubmitDate) VALUES (" & FormID & ", getDate()) SELECT @@IDENTITY as 'identity'"
response.write SQL
set rsAdd = conn.Execute(SQL)
AddSubmittedForm = rsAdd(0)
response.write "submitted form: "&AddSubmittedForm&"":response.end
men jag får följande felmeddelande:
Item cannot be found in the collection corresponding to the requested name or ordinal.
när jag kör sql satsen som skrivs ut i management studio så får jag ut ett värde som heter identity, men hur kommer det sig att jag får det felmeddelandet jag får? jag har även testat med
AddSubmittedForm = rsAdd("identity")
men det fungerar heller inte?? blir tokig snart
@ndersMedlem sedan juni 200026 914 inlägg
Du ska inte ha apostrofer runt fältnamnet "identity", som i övrigt är ett reserverat ord.
Ditt största problem är dock att du faktiskt får två recordsets (det första är tomt och skapas av din insert-fråga), och du vill ha värdet från det andra. Därför, inled med SET NOCOUNT ON.
SQL = "SET NOCOUNT ON" & vbCrlf & _
"INSERT INTO tblSubmittedForms (FormID, SubmitDate) VALUES (" & FormID & ", getDate())" & vbcrlf & _
"SELECT @@IDENTITY"
response.write SQL
set rsAdd = conn.Execute(SQL)
AddSubmittedForm = rsAdd(0)
Jag brukar ta för vana att separera delfrågorna med radbrytning, som du ser ovan.
GimboMedlem sedan dec. 20001 630 inlägg
LarsGMedlem sedan dec. 200012 465 inlägg