Avatar billede jamiros Novice
19. oktober 2005 - 01:04 Der er 8 kommentarer og
1 løsning

kalde to tabeller til en artikel

Hej Eksperter

Jeg har en tabel som hedder PRODUKT og en der hedder BILLEDE

BILLEDE refererer til "id" fra PRODUKT

Nu skal jeg så kalde en liste med "produktnavn" fra PRODUKT og "billedenavn" fra BILLEDE...

altså en liste hvor hver liine består af:
PRODUKT.produktnavn - BILLEDE.billedenavn hvor PRODUKT.produktnavn.id = BILLEDE.billedenavn.relid


Hvordan laver man et sådan kald?
Avatar billede softspot Forsker
19. oktober 2005 - 01:17 #1
SELECT p.produktnavn, b.billedenavn
FROM produkt AS p INNER JOIN billede AS b ON p.id = b.relid
Avatar billede jamiros Novice
19. oktober 2005 - 01:35 #2
Det lader til at virke :-)

Nu er jeg bare i tvivl om hvordan jeg viser dem...

<%rs("b.billede")%> eller ?
Avatar billede softspot Forsker
19. oktober 2005 - 01:38 #3
rs("billedenavn")
rs("produktnavn")
Avatar billede jamiros Novice
19. oktober 2005 - 01:47 #4
Hmmm..

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

Og der er noget i databasen?! - Hvad mon der går galt?
Avatar billede jamiros Novice
19. oktober 2005 - 01:49 #5
Du kan lige se de reelle benævnelser...

strSQL = "SELECT p.produktnavn, b.billede FROM TBL_produkt AS p INNER JOIN TBL_billede AS b ON p.id = b.produkt_id"
Set rs4 = Conn.Execute(strSQL)

rs4("produktnavn")
rs4("billede")
Avatar billede softspot Forsker
19. oktober 2005 - 02:08 #6
Det er givetvis fordi der ikke er tilknyttet nogen billeder til nogen produkter. Hvis du vil have produktnavne selvom der ikke er tilknyttet billeder, kan du benytte denne SQL i stedet:

SELECT p.produktnavn, b.billede
FROM TBL_produkt AS p LEFT JOIN TBL_billede AS b ON p.id = b.produkt_id

Så skal du bare være opmærksom på at rs("billede") kan risikere at være null og måske give en fejl hvis du bare aflæser den. Det kan du (såvidt jeg husker) komme omkring ved at aflæse den således:

billede = (rs("billede") & "")

så konverterer du resulatet til en streng uanset hvad der er i feltet og samtidig rører du ikke ved indholdet, hvis der skulle være noget i feltet...
Avatar billede jamiros Novice
19. oktober 2005 - 02:31 #7
Så må du gerne ligge et svar - og tak for hjælpen trods tidspunktet !
Avatar billede softspot Forsker
19. oktober 2005 - 10:48 #8
Velbekomme :)
Avatar billede softspot Forsker
19. oktober 2005 - 11:32 #9
Tak for point :)
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