Hvordan hentes "@@identity" fra databasen efter dobbelt "insert"
Jeg har lavet en dobbelt insert som vist her på sittet på en "SQL Server" via ASP.Jeg gør følgende:
set conn = server.createObject("adodb.connection")
conn.open "dsn=cak; uid=a; pwd=;"
sql = "declare @id integer; "
sql = sql + "insert into adresser values('test',null,null,'4000'); "
sql = sql + "set @id = @@identity; "
sql = sql + "insert into navne values('A','J',null,null,null,@id); "
set res = conn.execute(sql)
Dette virker.
Nu prøver jeg at tilføje et select af "@@identity" på følgende måde:
set conn = server.createObject("adodb.connection")
conn.open "dsn=cak; uid=a; pwd=;"
sql = "declare @id integer; "
sql = sql + "insert into adresser values('test',null,null,'4000'); "
sql = sql + "set @id = @@identity; "
sql = sql + "insert into navne values('A','J',null,null,null,@id); "
sql = sql + "select @@identity as nummer from navne "
set res = conn.execute(sql)
Og derefter når jeg prøver at få nummeret ud på følgende måde:
response.write(res("nummer"))
Få jeg følgende besked:
ADODB.Fields error '800a0cc1'
ADO could not find the object in the collection corresponding to the name or ordinal reference requested by the application.
Hvad går jeg forkert?
