Avatar billede Slettet bruger
28. november 2000 - 15:12 Der er 2 kommentarer og
1 løsning

Oprette connection til 2 tabeller?

Hejsa... Jeg har en adresse og en besked tabel... Hvordan får jeg forbindelse til begge to på samme tid... lige nu har jeg:
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"adresse.mdb\")

SQLstmt = \"SELECT * FROM adresse WHERE id = \" & Request(\"id\")
 
Conn.Execute (SQLstmt)
Set rs = conn.Execute(SQLstmt) %>

... Jeg skal ligeledes have forbindelse til beskeder, der ligger i samme database...  (noget med SQLstmt = \"SELECT * FROM besked WHERE id = \" & Request(\"id\") ) Hvordan? .. håber i forstår mit spg.
Avatar billede soerens Nybegynder
28. november 2000 - 16:05 #1
Du kan enten lave to RecordSet\'s:

Set rsAdresse = conn.Execute(\"SELECT * FROM adresse\")
Set rsBesked = conn.Execute(\"SELECT * FROM besked\")

Eller benytte dig af en SQL JOIN, hvis der er en sammenhæng imellem de to tabeller:

SQLstmt = \"SELECT Adresse.*, Besked.* FROM Besked INNER JOIN Adresse ON Adresse.ID=Besked.AdresseID\"
Set rs = conn.Execute(SQLstmt)

Giver du mere info om hvilke kolonner du har i dine tabeller kan vi også hjælpe med en lidt mere nøjagtig SQL-sætning.

Mvh.
Søren Sprogø
Avatar billede Slettet bruger
28. november 2000 - 18:18 #2
Hejsa Søren

adresse [id, navn, adresse... osv.]
besked [besked_id, bruger_id, besked... osv]

Det er en side, hvor der vises alle felterne i adresse tabellen. Desuden er det muligt, at indtaste en besked under hver person. Det vil altså sige, at adresse.id og besked.bruger_id er det samme...

Jeg har bare laver de to RecordSet\'s... (som du beskrev)

Set rsAdresse = conn.Execute(\"SELECT * FROM adresse WHERE id = \" & Request(\"id\"))
Set rsBesked = conn.Execute(\"SELECT * FROM besked WHERE bruger_id = \" & Request(\"id\"))

Og det virker da... men man burde vel lave noget join??
Avatar billede soerens Nybegynder
29. november 2000 - 09:03 #3
Du bør helt klart lave det med en join, da du får betydeligt bedre perfomance ud af det. Med join har du en databaseforespørgsel og ét recordset, på den anden måde har du to forespørgsler og to recordset.

Nu er jeg ikke den HELT store SQL-haj, men jeg vil gætte på at din SQL skal se sådan her ud:

SELECT Adresse.*, Besked.* FROM Besked INNER JOIN Adresse ON Besked.bruger_id=Adresse.ID

Ellers, prøv http://www.sqlcourse.com, de har et par gode SQL begynder-artikler, bla. en omkring JOINs

Med venlig hilsen
Søren Sprogø

PS.: Gå ind og tjek artiklerne ud, JOINs er guld værd ;-)

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