Avatar billede webnoob Nybegynder
15. marts 2006 - 22:46 Der er 15 kommentarer og
1 løsning

Relations database

Når jeg gemmer noget i en table får det automatisk et ID, hvordan bruger jeg det ID som relation i en anden table i samme lageringsprocesse?
Avatar billede the_fox Nybegynder
15. marts 2006 - 22:54 #1
hvilket programmeringssprog bruger du til at indsætte i databasen med?
Avatar billede webnoob Nybegynder
15. marts 2006 - 22:56 #2
asp
Avatar billede the_fox Nybegynder
15. marts 2006 - 22:56 #3
Hvis det er PHP så skal du bruge mysql_insert_id til at fange den sidst indsatte ID. http://dk2.php.net/mysql_insert_id
Avatar billede webnoob Nybegynder
15. marts 2006 - 23:00 #4
men nu bruger jeg ASP.
Avatar billede the_fox Nybegynder
15. marts 2006 - 23:02 #5
du skal muligvis bruge denne:

temp = Connection.Execute("select last_insert_id() as id")
sidste_id = temp("id")
Avatar billede webnoob Nybegynder
15. marts 2006 - 23:10 #6
lave lige et eks. i en sql streng.
Avatar billede the_fox Nybegynder
15. marts 2006 - 23:17 #7
Først laver du en insert i den første tabel f.eks.

Connection.Execute("INSERT INTO tabel1(bruger, pass) VALUES ('jens', '1234')")

Herefter laver du følgende for at få id'en på den række du lige har indsat:

temp = Connection.Execute("select last_insert_id() as id")
sidste_id = temp("id")

Du kan så indsætte id'en i en anden tabel f.eks. tabel2 (Må selvfølgelig ikke være auto increment).

Connection.Execute("INSERT INTO tabel1(id, gruppe) VALUES (" & sidste_id &", '1')")

Hvis det var det du mente?
Avatar billede the_fox Nybegynder
15. marts 2006 - 23:18 #8
hov den skulle hedde tabel2 i sidste linie altså:

Connection.Execute("INSERT INTO tabel2(id, gruppe) VALUES (" & sidste_id &", '1')")
Avatar billede the_fox Nybegynder
15. marts 2006 - 23:19 #9
Jeg smutter i køjen... Håber du kan bruge mit eksempel til noget.
Avatar billede arne_v Ekspert
15. marts 2006 - 23:32 #10
p.g.a. kategorien antager jeg at vi snakker SQL Server

INSERT INTO t1 (f1,f2) VALUES('xxx','xxx');
INSERT INTO t2 (f3,f3) VALUES(@@IDENTITY,'xxx');

@@IDENTITY har vaerdien af den sidste identity (auto increment)
Avatar billede webnoob Nybegynder
15. marts 2006 - 23:34 #11
f er det lig med form?
Avatar billede webnoob Nybegynder
15. marts 2006 - 23:40 #12
sorry the_fox, jeg bliver nød til at give arne_v point på det her spørgsmål. arne_v lig et svar så du kan få pointene, tak for hjælpen.
Avatar billede arne_v Ekspert
16. marts 2006 - 00:20 #13
t1,t2 er tabeller
f1,f2,f3,f4 er felter

svar
Avatar billede arne_v Ekspert
16. marts 2006 - 00:20 #14
en gang mere
Avatar billede ldanielsen Nybegynder
16. marts 2006 - 10:38 #15
Det er utroligt at så mange bytter om på MSSQL og MySql! der er godt nok kun et bogstav til forskel, men det er programmører vi snakker om, de skulle da kunne både læse og skrive :o)
Avatar billede the_fox Nybegynder
16. marts 2006 - 15:37 #16
Hehe den tager jeg på min frakke! :) Jeg sad vist og sov lidt i aftes...
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
Computerworld tilbyder specialiserede kurser i database-management

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