none
ADO Code ergänzen RRS feed

  • Frage

  • Kann mir bitte bei der Erstellung meines vb Codes helfen. Es geht mir um die Ergänzug im vorliegenden Muster; eigentlich nur zwei Zeilen:

    Private Sub Window_Loaded...
    
            Dim conn As New MySqlConnection()
            Dim cmd As New MySqlCommand()
            Dim adapter As New MySqlDataAdapter()
            Dim table As New DataTable()
    
            conn.ConnectionString = String.Format("Server=" & ip & "; password=" & pw & " ; user id =" & username & "; database= " & db & ";")
            cmd.Connection = conn
    
            cmd.CommandText = "SELECT ID, Vorname, Nachname FROM Personen"
    
            Try
    
                adapter =   ' Das hier fehlt
                adapter.Fill(table) 'und das hier auch
    
                Me.lst01.ItemsSource = table.DefaultView
    
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    
    
            'Dim connection As New MySqlConnection(conn.ConnectionString) 'und das soll da oben rein
    
            'Dim Adapter As New MySqlDataAdapter("SELECT ID, Vorname, Nachname FROM Personen", connection) 'und das auch
    
            'MyAdapter.Fill(table) 'und das auch
    
        End Sub
    

     

    Wie schon oben geschrieben. Es geht mir um die Ergänzung bzw.Vervollständigen meiner Vorgabe auch wenn es bestimmt bessere und andere Wege gibt. Und wenn es einer auch noch kommentieren kann was da passiert bin ich ewig dankbar.

     


    Es geht mir um WPF(XAML) Visual Studio Proff. 2010, VisualBasic, Win7 und verständliche Hilfe. Als Quelle nutze ich oft msdn Hilfe.
    Sonntag, 4. September 2011 18:35

Antworten

  • Das könnte etwa so aussehen:
     
    Private Sub Window_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
     
      Dim conString = String.Format("Server={0};password={1};user id ={2};database={3};", ip, pw, username, db)
      Dim table As New DataTable
     
      Try
        Using conn As New MySqlConnection(conString)
          Using cmd As New MySqlCommand("", conn)
            cmd.CommandText = "SELECT ID, Vorname, Nachname FROM Personen"
            Using adapter As New MySqlDataAdapter(cmd)
              adapter.Fill(table) 'und das hier auch
            End Using
          End Using
        End Using
        Me.lst01.ItemsSource = table.DefaultView
      Catch ex As Exception
        MessageBox.Show(ex.Message)
      End Try
    End Sub
     
    --
    Viele Gruesse
    Peter
    • Als Antwort markiert Thomas2705 Dienstag, 6. September 2011 13:39
    Sonntag, 4. September 2011 19:13

Alle Antworten

  • Das könnte etwa so aussehen:
     
    Private Sub Window_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
     
      Dim conString = String.Format("Server={0};password={1};user id ={2};database={3};", ip, pw, username, db)
      Dim table As New DataTable
     
      Try
        Using conn As New MySqlConnection(conString)
          Using cmd As New MySqlCommand("", conn)
            cmd.CommandText = "SELECT ID, Vorname, Nachname FROM Personen"
            Using adapter As New MySqlDataAdapter(cmd)
              adapter.Fill(table) 'und das hier auch
            End Using
          End Using
        End Using
        Me.lst01.ItemsSource = table.DefaultView
      Catch ex As Exception
        MessageBox.Show(ex.Message)
      End Try
    End Sub
     
    --
    Viele Gruesse
    Peter
    • Als Antwort markiert Thomas2705 Dienstag, 6. September 2011 13:39
    Sonntag, 4. September 2011 19:13
  • Hallo Peter

    offensichtlich gibt es einen erheblichen Unterschied im Code beim Benutzen eines DataReaders und einer DataTable.

    Läßt sich der code für ein DataTable gar nicht nach dem von msdn beschriebenen Muster für einen Reader verwenden?

    Ich habe versucht nach folgendem Beispiel den Aufbau zu erstellen:

    http://msdn.microsoft.com/de-de/library/dw70f090.aspx


    Es geht mir um WPF(XAML) Visual Studio Proff. 2010, VisualBasic, Win7 und verständliche Hilfe. Als Quelle nutze ich oft msdn Hilfe.
    Dienstag, 6. September 2011 13:25
  • Ein DataReader benötigt während des gesamten Lesevorganges eine geöffnete Verbindung. Er ist geeignet für eine schnelle Verarbeitung der eingelesenen Daten ohne wesentliche Verszögerung.
     
    Der DataAdapter liest die Daten in einen Datenpuffer, trennt sich dann von der Datenbank und kann lokal im Puffer gemachte Änderungen später wieder in die externe Datenbank zurückschreiben, wofür er sich nochmals mit der Datenbank verbindet.
     
    Anhand der Bezeichner im ersten Posting von Dir war ich davon ausgegangen, dass es sich um eine Windows Forms Anwendung mit Nutzung eines Datenpuffers handelt. Der zuletzt von dir gepostete Link bezieht sich aber auf eine Web Anwendung, die wegen dem statuslosen http keinen Puffer benötigt und deshalb mit dem DataReader auskommen kann.
     
    --
    Viele Gruesse
    Peter
    Dienstag, 6. September 2011 17:44