Avatar billede folle Nybegynder
31. maj 2002 - 19:20 Der er 11 kommentarer og
2 løsninger

Autonummerering restur???

Jeg indsætter poster i en access database via ASP. I min tabel tildeles hver post et ID som access selv bestemmer (autonummerering). Er det muligt at hente denne værdi umiddelbart efter posten er blevet indsat eller skal man til at søge efter den i databasen?
Avatar billede curriculum Nybegynder
31. maj 2002 - 19:23 #1
Du må hente værdierne ..

sql = "SELECT TOP 1 * FROM dit_tabel_navn ORDER BY ID DESC"

/Curriculum
Avatar billede erikjacobsen Ekspert
31. maj 2002 - 19:26 #2
Det er nu en dårlig idé hvis der kommer en anden indsættelse imellem.
Hvilken driver bruger du?
Avatar billede curriculum Nybegynder
31. maj 2002 - 19:38 #3
du behøver ikke at lukke db-forbindelsen til du har brug for værdi'en .. i værste fald .. er det muligt at lave en variabel til værdi'en
Avatar billede erikjacobsen Ekspert
31. maj 2002 - 19:42 #4
Selv mellem en INSERT umiddelbart efterfulgt af din SELECT kan der komme
en INSERT fra en anden bruger. Og da vil du få en forkert værdi. Er det
i orden, så er din løsning fin nok. Men der findes sikre løsninger, og
det kan spørgeren jo ligesågodt få. Men hvilken driver bruger han mon...?
Avatar billede curriculum Nybegynder
31. maj 2002 - 19:51 #5
mon ikke han bruger en MS Access Database Driver (*.mdb), det kunne jeg forestille mig.
Du skal have en travl side, hvis den forkerte værdi skulle forekomme.
Avatar billede erikjacobsen Ekspert
31. maj 2002 - 19:53 #6
Der er to muligheder en gammeldags "Microsoft Access Driver", eller
den nye, der får den til at ligne MS-SQL-server.

Ja, travl side ... men hvorfor gøre det forkert når det kan gøres
rigtigt?
Avatar billede curriculum Nybegynder
31. maj 2002 - 19:55 #7
hehe.. :)
Avatar billede cyberkox Nybegynder
31. maj 2002 - 20:04 #8
Lytter med
Avatar billede eagleeye Praktikant
31. maj 2002 - 20:33 #9
cyberbox>> var det nødvendigt at lave din KOMMENTAR som et svare ??
Avatar billede folle Nybegynder
31. maj 2002 - 20:38 #10
Så nu er jeg tilbage.
Jeg ved ikke rigtigt hvilken driver jeg bruger men skriver dette når jeg åbner forbindelsen til datasen:
"PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="
Avatar billede eagleeye Praktikant
31. maj 2002 - 21:08 #11
Prøv at kikke her: http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=79

kort sagt er det sådan her:
SQL = "INSERT INTO someTable (fld1, fld2) VALUES(123,'xyz');"
conn.Execute SQL ' do the insert, and then...
Set RS = Conn.Execute( "SELECT @@IDENTITY" )
Response.write "ny ID " & RS(0)

Men det er som du kan se af teksten ikke sikker på det virker.
Avatar billede folle Nybegynder
31. maj 2002 - 21:32 #12
eagleeye>> Det virker. Kan du ikke lige lave et svar så du kan få nogle point.
Avatar billede eagleeye Praktikant
31. maj 2002 - 21:34 #13
ok.. 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