Avatar billede Slettet bruger
28. april 2006 - 20:18 Der er 7 kommentarer og
1 løsning

Hent autonummer ved INSERT

Hvordan henter man det autonummer ud af db'en (Access) hvor man lige har sat en post ind. For derefter at lave et link til det produkt (eller hvad det nu måtte være) man lige har tilføjet?

Har før brugt TOP1 order by autoID desc, men den er jo ikke sikker, hvis en anden bruger af siden opretter noget i samme sekund.
OG den kan jo slet ikke bruges hvis man har sat autonummer til at bruge tilfældige tal.
Avatar billede eagleeye Praktikant
28. april 2006 - 20:22 #1
Du kan prøve sådan her:

SQL = "INSERT INTO tabelNavn (kol1, kol2) VALUES('abc', 'xyz')"
Conn.Execute (SQL)

'Find sidste tilføjet ID
SQL = "SELECT @@IDENTITY FROM tabelNavn"
Set RS = Conn.Execute(SQL)
nytID = RS(0)
Avatar billede ttopholm Nybegynder
28. april 2006 - 20:29 #2
eagleeye-> Det giver vel det samme, hvis der er skrevet i db'n af en anden bruger...

Det sikreste er vel at gøre således.
SELECT autoID FROM tabelNavn WHERE kol1 = 'abc' AND 'xyx'

Altså at lave en select på de samme ting som du lige har sat ind..
Avatar billede ttopholm Nybegynder
28. april 2006 - 20:29 #3
Ups.. fejl
SELECT autoID FROM tabelNavn WHERE kol1 = 'abc' AND kol2 = 'xyx'
Avatar billede morhan Novice
28. april 2006 - 20:42 #4
identity værdien er forbindelsesspecifik, så selvom en anden bruger indsætter en post, vil værdien for den første brugers forbindelse ikke ændre sig. Så den er sikker
Avatar billede eagleeye Praktikant
28. april 2006 - 20:42 #5
Det er mere korrekt at bruge @@IDENTITY, man skal bare gøre det som vist efter insert og med samme connection obejct da den giver ID for den post som er blevet tilføjet med samme connection objectet.
Avatar billede ttopholm Nybegynder
28. april 2006 - 20:50 #6
Okay... Så lærte jeg også lidt der ;-)
Avatar billede Slettet bruger
28. april 2006 - 21:18 #7
eagleeye >>> Det ser jo ud til at virke som det skal.

Så hvis du lægger et svar så kan jeg give dig point.
Avatar billede eagleeye Praktikant
28. april 2006 - 21:20 #8
Ok så kommer her et svar :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester