Avatar billede aero Nybegynder
09. juni 2012 - 11:34 Der er 2 kommentarer

SQL linje, tabel ralation spm.

Hej Eksperter.

Jeg har et script som henter nogle data fra en database/tabel, ud fra en dato.

cmd.CommandText = String.Format("SELECT * FROM event_list " & _
                                                "WHERE listdate >= #{0}#" & _
                                                "AND listdate <= #{1}#", _
                                                startDate, endDate)


men får en fejl ang. et felt jeg vil hente fra en anden tabel i samme database. at catimage er ikke en del af denne tabel.
linje 2..

                    <a href='eventDetail.aspx?id=<%# Container.DataItem("listid")%>'>
                        <img src='images/<%# Container.DataItem("catimage")%>' height="12" width="12" align="absmiddle" border="0" />
                        <font color='<%# Container.DataItem("catcolor")%>'>


kan nogle hjælpe mig, når vi snakker fortsat én database men to tabeller, det kan jeg ikke rigtigt få til at virke.

Jeg har 3 tabeller men det er kun de to jeg pt skal have hjælp til.

DatabaseDB.mdb
event_list
- listid (key/Auto)
- listdate
- listcategory
- listtitle

event_cat
- catid (key/Auto)
- cattitle
- catimage
- catcolor

Jeg har lavet relationer mellem listcategory og catid, så hvis listcategory = 2 så skal den så bruge catid 2 fra event_cat. samt dennes catimage og catcolor, hvordan gør jeg det !?
I have made a relationship between listcategory and catid.
Avatar billede aero Nybegynder
09. juni 2012 - 14:43 #1
Jeg er ny til dette, men har prøvet mig lidt frem, men kan ikke få det til at virke, sidste test er dette og de steder jeg kan læse om det så burde det være ok, men det vil ikke virke, nogle der kan se hvad det kan skyldes !?

                cmd.CommandText = String.Format("SELECT event_list.listtitle, event_list.listdescription, event_list.listdate, event_cat.cattitle, event_cat.catimage, event_cat.catcolor " & _
                                                "FROM event_list " & _
                                                "LEFT JOIN event_cat " & _
                                                "ON event_list.listcategory=event_cat.catid " & _
                                                "WHERE event_list.listdate >= #{0}#" & _
                                                "AND event_list.listdate <= #{1}#", _
                                                startDate, endDate)
Avatar billede januskh Nybegynder
01. september 2012 - 09:42 #2
Umiddelbart ser din SQL sætning fin ud. Der er blot et par spaces, som du mangler:

cmd.CommandText = String.Format("SELECT event_list.listtitle, event_list.listdescription, event_list.listdate, event_cat.cattitle, event_cat.catimage, event_cat.catcolor " & _
                                                "FROM event_list " & _
                                                "LEFT JOIN event_cat " & _
                                                "ON event_list.listcategory=event_cat.catid " & _
                                                "WHERE event_list.listdate >= #{0}#  " & _
                                                "AND event_list.listdate <= #{1}#  ", _
                                                startDate, endDate)



Og så vil jeg anbefale dig at bruge parameter i stedet for at bruger String.Format. Sådan her:

      Dim cmd As New MySql.Data.MySqlClient.MySqlCommand

      cmd.CommandText = "SELECT event_list.listtitle, event_list.listdescription, event_list.listdate, event_cat.cattitle, event_cat.catimage, event_cat.catcolor " & _
                                                "FROM event_list " & _
                                                "LEFT JOIN event_cat " & _
                                                "ON event_list.listcategory=event_cat.catid " & _
                                                "WHERE event_list.listdate >= @StartDate  " & _
                                                "AND event_list.listdate <= @EndDate  "
      cmd.Parameters.AddWithValue("@StartDate", startDate)
      cmd.Parameters.AddWithValue("@EndDate", endDate)
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