Hej... Om du använder sql-server så borde det fungera (du får tillbaka ett recordset där rs(0) är värdet. Tack!!...Hjälp med SQL-Sats
Jag skulle vilja göra en SQL-Sats där jag lägger till en rad i
en tabellen som har en ID-column med en räknare...
samtidigt när jag gör detta ska jag få tillbaka ID som denna
rad fått...
jag fick något tips om att göra så här:
SQLSats = "INSERT INTO Tab (Col1,Col2,Col3) VALUES ('TXT1','TXT2','TXT3') SELECT @@IDENTITY AS 'ID'"
Och då vill jag ju att den ska returnera ett recordset som innehåller ID som raden fick...
Fuckar det??... eller finns det något annat sätt??... jag vill hälst inte
använda SP... jag ska använda det till min ASP-sida... så jag gör
ju MyComm och MyRS Object och sedan kör MyComm.Open(SQLSats)
Något som vet???
Tacksam för svar.. =)
/Johan.NETSv: Hjälp med SQL-Sats
@@identity innehåller det senast tillagda "räknaren" eller identity-värdet under en connection. Om du använder en global connection (vilket du absolut inte bör göra) så kan man alltså inte vara säker på att det just din instans som skapat id:t. Men om du skapar din connection på samma asp-sida så är det inga problem.
En sak som slog mig nu, hur går det med connection pooling? om det är någon som har haft problem med connectionpooling och @@identity, säg gärna till!Sv: Hjälp med SQL-Sats
Testade lite i Query Analyzer... och det funka fint... =)
Jag declarerar Connection och Recordset i varje function...
så i slutet har jag "Set MyComm = Nothing" och samma sak
med Recordsetet..... så det är inget globaldeclarerat....
Det där med pooling vet jag inget om, tyvärr...
/Johan.NET