Avatar billede justdoit Nybegynder
07. oktober 2002 - 21:35 Der er 20 kommentarer og
2 løsninger

Relationsdatabese hjælp

Jeg har i min database to tabeller - kategori og u_kategori som jeg skal have sat sammen, men jeg har glemt hvordan det er jeg gør!

kategori indeholder følgende rækker:

kategoriId (key)
KategoriPic
KategoriNavn

u_kategori indeholder følgende rækker:

u_kategoriId
id (key)
u_KategoriNavn

Jeg tror det er noget med INNER JOIN, men er der en der lige kan hjælpe??

strSQL = "SELECT KategoriPic,KategoriNavn FROM kategori WHERE catalogID =???????????
Avatar billede soreno Praktikant
07. oktober 2002 - 21:38 #1
hvor får du "catalogID" fra ?
Avatar billede hbhansen Nybegynder
07. oktober 2002 - 21:41 #2
strSQL = "SELECT * FROM kategori, u_kategori" det samler begge tabeller ellers hvis du vil have dem samlet hvor kategoriId og id skal være ens :
strSQL = "SELECT * FROM kategori, u_kategori WHERE kategori.kategoriId = u_kategori.id"
Avatar billede justdoit Nybegynder
07. oktober 2002 - 21:52 #3
ok hbhansen, jeg kan se du er på sporet: Her får du lige min kode, kan du se noget forkert ved den??

<%

Dim strConnect, Conn

'Åbner connection
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConString

sql = "SELECT * FROM kategori, u_kategori WHERE kategori.kategoriId = u_kategori.id"

Set objRec = Server.CreateObject("ADODB.Recordset")

objRec.open sql, Conn

While NOT objRec.EOF

%>
                                          <table width="260" border="0" cellspacing="0" cellpadding="0">
                                            <tr>
                                              <td rowspan="2" width="5" valign="top"></td>
                                              <td rowspan="2" width="59" valign="top">
                                                <table width="55" height="55" border="0" cellspacing="0" cellpadding="0">
                                                  <tr>
                                                    <td background="billeder/site/darmer.gif" width="51" height="51">
                                                      <table width="55" border="0" cellspacing="0" cellpadding="0">
                                                        <tr>
                                                          <td rowspan="4" width="2" bgcolor="#FFFFFF"></td>
                                                          <td colspan="2" height="2" bgcolor="#FFFFFF"></td>
                                                          <td rowspan="2" width="2" bgcolor="#FFFFFF"></td>
                                                        </tr>
                                                        <tr>
                                                          <td height="36" width="36"></td>
                                                          <td width="17"></td>
                                                        </tr>
                                                        <tr>
                                                          <td height="17"></td>
                                                          <td colspan="2" rowspan="2" background="billeder/site/forside_transperant.gif" height="19" width="19"></td>
                                                        </tr>
                                                        <tr>
                                                          <td height="2" bgcolor="#FFFFFF"></td>
                                                        </tr>
                                                      </table>
                                                    </td>
                                                  </tr>
                                                </table>
                                              </td>
                                              <td rowspan="2" width="9" valign="top"></td>
                                              <td width="191" class="overskrift_forside">Biler
                                                &amp; tilbeh&oslash;r</td>
                                            </tr>
                                            <tr>
                                              <td width="191" valign="top">
                                                <table width="191" border="0" cellspacing="0" cellpadding="0" class="hovedtekst">
                                                  <tr>
                                                    <td>Audu, BMW, Citr&ouml;in,
                                                      Rower, Mercedes, Pegeaue...</td>
                                                  </tr>
                                                </table>
                                              </td>
                                            </tr>
                                            <tr>
                                              <td height="10"></td>
                                            </tr>
                                          </table>
<%
objRec.MoveNext

' løkke starter forfra
Wend


objRec.close
Conn.Close
SEt Conn = Nothing


%>
Avatar billede hbhansen Nybegynder
07. oktober 2002 - 21:55 #4
Du skal lige huske på at du ikke har to kolonner med det samme navn så skal du bruge AS som et alias
SELECT kategori.kategoriid AS KategoirID ....
Ellers kan jeg ikke se nogen umiddelbare fejl, hvad siger den til dig ?
Avatar billede justdoit Nybegynder
07. oktober 2002 - 21:59 #5
øhh hvordan vi du sætte dette (SELECT kategori.kategoriid AS KategoirID ) ind??
Avatar billede hbhansen Nybegynder
07. oktober 2002 - 22:01 #6
strSQL = "SELECT *, kategori.kategoriId AS KategoriID FROM kategori, u_kategori WHERE kategori.kategoriId = u_kategori.id"
Med det fortæller du den at den skal tage eller felter men at feltet kategoriId i tabellen kategori skal stå som fetet KategoriID
Avatar billede justdoit Nybegynder
07. oktober 2002 - 22:05 #7
Jeg får denne fejl, som jeg ikke helt forstår:

ADODB.Recordset fejl '800a0bb9'

Argumenterne har en forkert type eller er uden for det angivne område, eller der er opstået en konflikt mellem dem.
Avatar billede hbhansen Nybegynder
07. oktober 2002 - 22:06 #8
Hvilken linie og hvad står der i den linie ?
Avatar billede justdoit Nybegynder
07. oktober 2002 - 22:08 #9
Det jeg skal bruge det til er: Udskrive kategoriNavn og kategoriPic fra den ene table. Fra den anden table skal jeg have udskevet u_kategori som passer til kategoriId fra den anden table!
Avatar billede justdoit Nybegynder
07. oktober 2002 - 22:09 #10
linje 114: objRec.open sql, Conn
Avatar billede hbhansen Nybegynder
07. oktober 2002 - 22:10 #11
Så skal du jo bruge den her :
strSQL = "SELECT * FROM kategori, u_kategori WHERE kategori.kategoriId = u_kategori.id" hvad er det der ikke virker ?
Avatar billede hbhansen Nybegynder
07. oktober 2002 - 22:13 #12
Jeg plejer at bruge Access databaser på følgende måde :
'åbn dbase conn
connect="DSN=connectiondb;uid=;pwd="
Set Conn = Server.CreateObject("ADODB.Connection")
DBSti = "DBQ=" & Server.Mappath("databasenavn.mdb")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBSti

Og så hente data ud med : set ssr = conn.execute("SELECT * FROM bruger where ID = "& id &"")%>

bare et eks.
Avatar billede justdoit Nybegynder
07. oktober 2002 - 22:22 #13
Med denne:

sql = "SELECT * FROM kategori, u_katagori WHERE kategori.kategoriId = u_katagori.id"

Bliver kategoriNavn og KategoriPic udskervet rigtigt, men u_kategoriId kan have flere end variable, og lige nu skriver den kun EN ud????
Avatar billede hbhansen Nybegynder
07. oktober 2002 - 22:24 #14
Så skal du indsætte "SELECT *, kategori.kategoriId AS KategoriID ..."
Avatar billede justdoit Nybegynder
07. oktober 2002 - 22:25 #15
Dvs at der er 1. kategoriNavn men mange u_kategoriId...
Avatar billede justdoit Nybegynder
07. oktober 2002 - 22:27 #16
Hvordan mener du?
Avatar billede hbhansen Nybegynder
07. oktober 2002 - 22:28 #17
Og du er sikker på at disse er ens: kategori.kategoriId = u_katagori.id?
Nej det skulle gerne være at for hver kategoriId skal der være et KategoriNavn ikke ?
Avatar billede justdoit Nybegynder
07. oktober 2002 - 22:32 #18
Jo, for hver kategoriId er det et kategoriNavn.

Men der er jo også flere underkategorier til hvert kategoriNavn.
Avatar billede hbhansen Nybegynder
07. oktober 2002 - 22:34 #19
underkategorier?
Det du skal gøre for at få et resultat ud hvor id'erne er ens er
strSQL = "SELECT * FROM kategori, u_kategori WHERE id.i.den.ene.tabel = id.i.den.adnen.tabel"
Ellers forståer jeg ikke lige hvad det er problemet er ?
Avatar billede justdoit Nybegynder
07. oktober 2002 - 22:42 #20
Det jeg er ved at lave er noget i stil med dette: http://www.dba.dk/asp/main/main_logoff.htm?favorit=0&notesblok=0

Dette (Biler & Tilbehør) svarer til min kategoriNavn, og det der står under er det der svarer til mine u-kategoriNavn.
Avatar billede justdoit Nybegynder
07. oktober 2002 - 22:54 #21
Det der jo nok ville være bedst, var jo nok hvos jeg bare kunne få skrevet kategoriNavn ud, og så derefter fo mine underkategorier til at passe sammen!
Avatar billede justdoit Nybegynder
07. oktober 2002 - 23:09 #22
Nå, jeg prøvet med et andet spørgsmål, men du får 20 point for hjælpen!
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