Avatar billede tele_lucien Nybegynder
04. december 2002 - 20:41 Der er 12 kommentarer og
1 løsning

Ang.: DISTINCT i min SQL, der ikke virker!

Hej med jer............

Jeg har en DropdownList hvor indholdet af den bliver hentet fra min DB. Der er mange produkt kategorier der går igen, så jeg ville bruge DISTINCT i min SQL sætning, men det virker bare ikke! Den viser alle produkter der er i DB'nm i stedet for kun at vise det samme produktnavn ÉN gang, og når man så vælger produktet så skal alle de produkter vises der hører under samme kategory!

Her er min kode:

Public MustInherit Class ProductList : Inherits System.Web.UI.Page

    Public dlVare As DropDownList
    Public dgVare As DataGrid

    ' ****** Fyld Dropdownlist ******

    Sub Page_Load(ByVal Source As System.Object, ByVal e As System.EventArgs)
        If Not IsPostBack Then
            Dim strConnection As String = Configuration.ConfigurationSettings.AppSettings("Autohuset")
            Dim strSQL As String = "SELECT DISTINCT Varenavn, Varenr FROM Vare"

            Dim objConnection As New SqlConnection(strConnection)
            Dim objCommand As New SqlCommand(strSQL, objConnection)

            objConnection.Open()
            dlVare.DataSource = objCommand.ExecuteReader()
            dlVare.DataTextField = "Varenavn"
            dlVare.DataValueField = "Varenr"
            dlVare.DataBind()
            objConnection.Close()
        End If
    End Sub

    '******* Vis de valgte produkter *******

    Sub subListChange(ByVal Source As System.Object, ByVal e As System.EventArgs)
        Dim strConnection As String = Configuration.ConfigurationSettings.AppSettings("Autohuset")
        Dim strSQL As String = "SELECT Varenr, Varenavn, Specs, Materiale, Farve, Pris, Leverandør " & _
                              "FROM Vare WHERE Varenr = " & dlVare.SelectedItem.Value

        Dim objConnection As New SqlConnection(strConnection)
        Dim objCommand As New SqlCommand(strSQL, objConnection)

        objConnection.Open()
        dgVare.DataSource = objCommand.ExecuteReader()
        dgVare.DataBind()
        objConnection.Close()
    End Sub

    Sub Logout_Click(ByVal Source As System.Object, ByVal e As System.EventArgs)
        FormsAuthentication.SignOut()
        Response.Redirect("http://www.e-coders.com/autohuset/Default.aspx")
    End Sub

End Class

Håber i kan hjælpe mig!?!?! :-(

Mvh Lucien
Avatar billede mufoxe Nybegynder
04. december 2002 - 20:44 #1
Din DISTINCT skal køre på en unik værdi i tabellen, f.eks. DISTINCT(VareID), osv, osv FROM blabla WHERE 1 = 1
Avatar billede mufoxe Nybegynder
04. december 2002 - 20:49 #2
heh, jeg er ikke så skarp i dag. Du skal self bruge DISTINCT(<det felt, som optræder flere gange>). :)
Avatar billede tele_lucien Nybegynder
04. december 2002 - 20:52 #3
Hej mufoxe..........

Sådan her: "SELECT DISTINCT(Varenavn), Varenr FROM Vare WHERE 1 = 1"

Den viser stadig alle navnene, så sådan der virker det ikke.

Den der WHERE 1 = 1 hvad gør den?
Avatar billede mufoxe Nybegynder
04. december 2002 - 20:55 #4
Bare ignorer det :) Jeg vil næsten tro, at dine værdier ikke er fuldstændigt ens ellers burde det virke. Kan du evt. skrive outputtet uden DISTINCT, så kan det være at jeg kan se det.
Avatar billede tele_lucien Nybegynder
04. december 2002 - 20:59 #5
Jo de er ens, der står de samme ting 2 - 3 gange nogen steder.

Hvordan mener du skrive outputtet, udskrive SQL'en eller hvad?
Avatar billede tele_lucien Nybegynder
04. december 2002 - 21:03 #6
Min <asp:DropDownList /> ser således ud:

<asp:DropDownList
  ID="dlVare"
  Runat="server"
  AutoPostBack="True"
  OnSelectedIndexChanged="subListChange"
  BorderWidth="1"
  Font-Name="tahoma"
  Font-Size="8pt"
  BackColor="#ffffff"
/>
Avatar billede tele_lucien Nybegynder
04. december 2002 - 21:04 #7
BTW hvordan fanden udskriver SQL'n fra en dropdownlist med:

Response.Write(strSQL)
Response.End()

Så det bliver vist på skærmen?????? :-(
Avatar billede mufoxe Nybegynder
04. december 2002 - 21:08 #8
Jeg er interesseret i at se det rå output fra SQL Server.
Avatar billede tele_lucien Nybegynder
04. december 2002 - 21:14 #9
http://www.e-coders.com/autohuset/Default.aspx

Vælg produktliste i menuen, tryk ja til SSL forbindelse og brug test, test som login!

Har det noget med at der skal være et autonummeringsfelt som vareID eller hvad? Det var der ikke men det er der nu.
Avatar billede tele_lucien Nybegynder
04. december 2002 - 21:17 #10
Den Lopper heller ikke tabllen igennem. Altså det den skal vise..........
Avatar billede tele_lucien Nybegynder
04. december 2002 - 21:21 #11
Eh........... har du set outputtet i IE?

Kan du se at der er gengange af de forskellige varer!
Avatar billede tele_lucien Nybegynder
04. december 2002 - 21:24 #12
Hvis rå output fra SQL Server, ikke er at se det i en browser, hvad mener du så?
Avatar billede tele_lucien Nybegynder
04. december 2002 - 21:33 #13
Hehe okay.............. lukker!
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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