none
WPF GridView mit Daten aus MySQL Tabelle RRS feed

  • Frage

  • Es piept mich an und ich komme gar nicht weiter:

    gegeben: DridView

    Tabelle MySQL "back_branchen" mit Spalte "Branche"

    folgender XAML Code:

    <ListView ItemsSource="{Binding Path=Back_branche}">
          <ListView.View>
            <GridView>
              <GridViewColumn x:Name="Col_1" Header="Branche" Width="Auto" DisplayMemberBinding="{Binding Path= Branche }"/>
            </GridView>
          </ListView.View>
        </ListView>
    

    Folgender vb Code:

    Imports System.Data.SqlClient
    Imports MySql.Data.MySqlClient
    Imports System.Data
    
    Public Class Lekton_05
    
      Dim username As String = ""
      Dim ip As String = ".kasserver.com"
      Dim db As String = ""
      Dim pw As String = ""
    
      Dim adapter As New MySqlDataAdapter
      Dim ds As DataSet = New DataSet
    
    
      Dim con As New MySqlConnection
    
    
      Private Sub Window_Initialized(ByVal sender As System.Object, ByVal e As System.EventArgs)
    
        'Verbindung zur Datenbank erstellen:
    
        con.ConnectionString = "Server=" & ip & "; password=" & pw & " ; user id =" & username & "; database= " & db & ";"
    
        adapter.SelectCommand = New MySqlCommand("SELECT * FROM back_branche")
        Dim Builder As MySqlCommandBuilder = New MySqlCommandBuilder(adapter)
    
        con.Open()
        adapter.Fill(ds)
    
      End Sub
    End Class
    
    Ich stelle mich offensichtlich jetzt schon seit Wochen wirklich zu dämlich an und dabei sollte es doch einfach sein.


    Ich bin für verständliche Antworten dankbar.
    Donnerstag, 23. Juni 2011 20:33

Antworten

  • Im Code gibt es einige Stolperfallen:
     
    1. Das DataSet wird geladen mit einer Tabelle, die den Namen “Table” hat – weil beim Fill nichts anderes angegeben wurde.
     
    2. Die ItemsSource wird aber an eine Liste mit Namen “Back_branche” gebunden.
     
    3. Unklar ist, ob überhaupt eine Instanz der Datenklasse erstellt wurde.
     
    4. Unklar ist, wie der DataContext gebunden wurde.
     
    5. Der CommandBuilder ist in dieser Konstellation überflüssig.
     
    6. con.Open() ist nicht erforderlich, stört aber nicht. Der DataAdapter arbeitet sowohl mit geöffneter als auch geschlossener Verbindung und stellt den Zustand am Ende her, wie er vorgefunden wurde.
     
    7. Anstelle des Zusammenbastelns der Verbindungszeichenfolge sollten besser die Möglichkeiten der Projekteinstellungen (Settings) genutzt werden.
     
    8. Es gibt bestimmt noch mehr Bemerkungen : –)
     
    --
    Viele Grüße
    Peter
    Donnerstag, 23. Juni 2011 20:58

Alle Antworten

  • Im Code gibt es einige Stolperfallen:
     
    1. Das DataSet wird geladen mit einer Tabelle, die den Namen “Table” hat – weil beim Fill nichts anderes angegeben wurde.
     
    2. Die ItemsSource wird aber an eine Liste mit Namen “Back_branche” gebunden.
     
    3. Unklar ist, ob überhaupt eine Instanz der Datenklasse erstellt wurde.
     
    4. Unklar ist, wie der DataContext gebunden wurde.
     
    5. Der CommandBuilder ist in dieser Konstellation überflüssig.
     
    6. con.Open() ist nicht erforderlich, stört aber nicht. Der DataAdapter arbeitet sowohl mit geöffneter als auch geschlossener Verbindung und stellt den Zustand am Ende her, wie er vorgefunden wurde.
     
    7. Anstelle des Zusammenbastelns der Verbindungszeichenfolge sollten besser die Möglichkeiten der Projekteinstellungen (Settings) genutzt werden.
     
    8. Es gibt bestimmt noch mehr Bemerkungen : –)
     
    --
    Viele Grüße
    Peter
    Donnerstag, 23. Juni 2011 20:58
  • Hallo Thomas,

    warum erstellst du einen neuen Thread und beendest bzw. bearntwortest nicht erstmal deinen ersten?

    http://social.msdn.microsoft.com/Forums/de-DE/wpfde/thread/8de35c46-3959-452f-a410-d3b8b2a158c1/

     

    Freitag, 24. Juni 2011 07:51
    Beantworter
  • Hallo Marco

     

    Weil ich oft verschiedene Fragen zur selben Zeit habe und nicht alle Fragen bzw. Antworten unmittelbar  danach nachvollziehen kann. Ich muß mich teilweise erst belesen.

    Manchmal erkenne ich auch nicht dass es sich bei verschiedenen Fragen um den gleichen Sachverhalt handelt.

    Thomas


    Ich bin für verständliche Antworten dankbar.
    Mittwoch, 20. Juli 2011 10:13
  • Berücksichtige aber unbedingt, dass das Ignorieren einer zielgerichteten Arbeitsweise der größte Feind beim Programmieren ist und die meisten Probleme schafft.
     
    --
    Viele Gruesse
    Peter
    Mittwoch, 20. Juli 2011 11:57