SQL Datenbank, Daten auslesen und auswerten

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Annoxoli.

    SQL Datenbank, Daten auslesen und auswerten

    Moin,

    derzeit habe ich geplant über ein Produkt eine kompl. Tabelle Abzurufen.
    Die Verbindung zum SQL Server konnte ich Problemlos aufbauen, jedoch habe ich kein schimmer davon,
    wie ich alle Daten abrufen kann, und z.B. in einer Textbox / MessageBox ausgeben kann.

    Derzeitiger code:

    VB.NET-Quellcode

    1. Dim myAdapter As New SqlClient.SqlConnection
    2. Dim conn As SqlClient.SqlConnection
    3. Try
    4. conn = New SqlClient.SqlConnection
    5. conn.ConnectionString = "server=MEINSERVER;" _
    6. & "user id=MEINACC;" _
    7. & "password=MEINPW;" _
    8. & "database=MEINEDB"
    9. conn.Open()
    10. labDBStatus.Text = "OK"
    11. Catch myerror As SystemException
    12. MsgBox("Keine Verbindung zur Datenbank : " & myerror.Message.ToString)
    13. labDBStatus.Text = "no connection"
    14. End Try
    15. Dim SQLAbfrage As String = "SELECT * FROM ZZ_Notification"
    16. Dim myCommand As New SqlClient.SqlCommand
    17. myCommand.Connection = conn
    18. myCommand.CommandText = SQLAbfrage
    19. Dim myData As SqlClient.SqlDataReader
    20. myAdapter.CreateCommand.CommandText = myCommand.ToString
    21. myData = myCommand.ExecuteReader()
    22. conn.Close()


    ich bedanke mich schonmal

    Gruß, Annoxoli
    Wenn du den Reader abfeuerst kannst du abfragen ob es überhaupt Treffer gab:

    VB.NET-Quellcode

    1. If myData.HasRows


    oder du machst einfach eine Schleife

    VB.NET-Quellcode

    1. While myData.Read
    2. ---
    3. ENd While


    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    okay so weit geht es schonmal,
    ich denke mal um die einzelnen felder auszulesen müsste ich wie folgt vorgehen:

    VB.NET-Quellcode

    1. While CInt(myData.Read) < i
    2. ListBox1.Items.Add(myData.Item(i))
    3. i += 1
    4. End While


    ich erhalte auch die erste spalte problemlos, jedoch bricht er dannach ab, sobald er die erste zeile ausgelesen hat.
    (bitte nicht wundern, leider habe ich mit VB nicht all zu viel erfahrung mit DB Programmierung)
    Hier denkst du falsch ;)
    Ich machs immer so:

    VB.NET-Quellcode

    1. While myData.Read ' Read ist boolean kein Int und True wenn es noch Daten gibt und False wenn nix mehr da is
    2. ListBox1.Items.Add(If(IsDBNull(myData.Item("SPALTERNNAME")), "WENN NULL DAS HIER ", myData.Item("SPALTENNAME")))
    3. End While


    Das IsDBNull ist dazu da um zu prüfen ob es NULL ist da sonst eventuell das Programm abkratzt.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten