04. oktober 2001 - 17:12Der er
4 kommentarer og 1 løsning
@@identity returnerer ingenting
Jeg arbejder op mod en MS SQL og skal lave en insert i flere tabeller hvor jeg har brug for at få fat i det sidste autogenererede ID. Jeg har læst at man kan bruge @@identity til det og det virker også fint i Query analyzeren , men når jeg kører dette fra min ASP side returnerer @@identity ingenting. HVORFOR? Min første Insert kører igennem...
QStr=\"insert into Needle(type,number) values (\'\" & id & \"\',\'\" & nr & \"\') \"
Result.Open QStr
\'get last autoincremented ID Qstr=\"select @@identity as l from Needle\" Result.Open Qstr
Result er erklæret som et recordset!
Jeg smutter nu men er tilbage imorgen tidlig. På fårhånd tak. A_C
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
QStr=\"insert into Needle(type,number) values (\'\" & id & \"\',\'\" & nr & \"\');select @@identity as l from Needle\"
Set Result = Conn.Execute(QStr) Set Result = Result.NextRecordset
response.write \"@@IDENTITY: \" & Result(\"I\")
Du kan kun bruge @@identity fra samme connection, og jeg mener at når du anvender .open på samme recordset objekt, bliver der foretaget en implicit close imellem de 2 .open.
Underligt. MS SQL kan normalt godt returnere flere recordsets, jeg bruger det hver eneste dag både på 7.0 og 2000. Men godt du fik det til at køre alligevel :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.