Daten aus Datenbank Lesen

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von ebk.

    Daten aus Datenbank Lesen

    Ich arbeite mit VB Express 2012 für Windows Destop undmuß aus einer Access Datenbank welche ich mir vorher aussuche, die Daten auslesen und anzeigen.
    Leider bekomme ich keine Anzeige der Daten sondern immer eine Fehlermeldung.

    Mein Quellcode

    Public Sub Test()
    If Pfad <> "" Then
    Try
    Using connection As New OleDbConnection(Pfad) '"C:\GATW\Datensicherung"+Pfad (Pfad = OpenFileDialog1.FileName)
    Dim command As New OleDbCommand(selectString, connection) '"Select*FROM TabBuchungen ORDER BY Datum"
    connection.Open()
    Dim reader As OleDbDataReader = command.ExecuteReader()
    While reader.Read()
    Console.WriteLine(reader(0).ToString())
    End While
    reader.Close()
    End Using
    Catch ex As Exception 'FEHLERMELDUNG
    MsgBox("Fehler: " & ex.Message) 'Das Format der Initialisierungszeichenfolge stimmt nicht
    ' mit der Spezifikation überein, die bei Index '0' beginnt.
    End Try
    End If
    End Sub

    Ich hoffe es kann mir jemand auf die Sprünge helfen.

    Carsten Neu schrieb:

    VB.NET-Quellcode

    1. Public Sub Test()
    2. If Pfad <> "" Then
    3. Try
    4. Using connection As New OleDbConnection(Pfad) '"C:\GATW\Datensicherung"+Pfad (Pfad = OpenFileDialog1.FileName)
    5. Dim command As New OleDbCommand(selectString, connection) '"Select*FROM TabBuchungen ORDER BY Datum"
    6. connection.Open()
    7. Dim reader As OleDbDataReader = command.ExecuteReader()
    8. While reader.Read()
    9. Console.WriteLine(reader(0).ToString())
    10. End While
    11. reader.Close()
    12. End Using
    13. Catch ex As Exception 'FEHLERMELDUNG
    14. MsgBox("Fehler: " & ex.Message) 'Das Format der Initialisierungszeichenfolge stimmt nicht
    15. ' mit der Spezifikation überein, die bei Index '0' beginnt.
    16. End Try
    17. End If
    18. End Sub


    Stimmt der Pfad?

    Stimmt dein SQL Command? (sieht nämlich falsch aus)

    Ohne Try-Catch würdest du vielleicht sogar die Fehlerzeile angezeigt bekommen ;)
    sondern immer eine Fehlermeldung

    Es wäre nett wenn du uns auch erzählst was diese Fehlermeldung sagt sonst ist das alles hier ein Ratespiel.
    Wie baust du den die Variable Pfad zusammen? wählst du die Datei komplett über den OpenFileDialog aus?

    Wie mein Vorredner schon sagt bau das Try-Catch einmal komplett aus dann bekommst du auch einen anständigen Fehler.
    Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.
    Leider bin ich nicht so perfekt im Forum (nicht nur da) aber shaebich hat meinen Code perfekt in lesbarer Form gepostet. Der Pfad ist richtig und den SQL Command verwende ich erfolgreich an verschiedenen anderen Stellen im Programm.
    Deswegen hab ich ja das Video gepostet - also auf den Button musste draufklicksen, um über die Forum-Funktionalität zu erfahren.
    Und "perfekt lesbar" ist das bestimmt nicht, sondern pf geht eher so:

    VB.NET-Quellcode

    1. Public Sub Test()
    2. If Pfad <> "" Then
    3. Try
    4. Using connection As New OleDbConnection(Pfad) '"C:\GATW\Datensicherung"+Pfad (Pfad = OpenFileDialog1.FileName)
    5. Dim command As New OleDbCommand(selectString, connection) '"Select*FROM TabBuchungen ORDER BY Datum"
    6. connection.Open()
    7. Dim reader As OleDbDataReader = command.ExecuteReader()
    8. While reader.Read()
    9. Console.WriteLine(reader(0).ToString())
    10. End While
    11. reader.Close()
    12. End Using
    13. Catch ex As Exception 'FEHLERMELDUNG
    14. MsgBox("Fehler: " & ex.Message) 'Das Format der Initialisierungszeichenfolge stimmt nicht
    15. ' mit der Spezifikation überein, die bei Index '0' beginnt.
    16. End Try
    17. End If
    18. End Sub

    Carsten Neu schrieb:

    Der Pfad ist richtig und den SQL Command verwende ich erfolgreich an verschiedenen anderen Stellen im Programm.
    Gut zu wissen, aber wirklich weiter-bringen tut das jetzt glaub doch nicht.



    Aber mal Frage: Was sagst du zum Vorschlag von (ich schließe mich dem an) nun schon drei Forum-Teilnehmern, mal den TryCatch zu entfernen, um dann Fehlermeldung und FehlerZeile angeben zu können?

    Obwohl - eiglich - wo ich den Code lesen kann - ein Pfad ist halt kein gültiger ConnectionString - ich denke, das will dir die Meldung sagen

    Fehlermelung schrieb:

    VB.NET-Quellcode

    1. 'Das Format der Initialisierungszeichenfolge stimmt nicht mit der Spezifikation überein



    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „ErfinderDesRades“ ()

    Dann bekomme ich
    Eine nicht behandelte Ausnahme des Typs "System.ArgumentException" ist in System.Data.dll aufgetreten.

    Zusätzliche Informationen: Das Format der Initialisierungszeichenfolge stimmt nicht mit der Spezifikation überein, die bei Index '0' beginnt.
    aha - danke.

    Ja, und da stoppt bei dir der Code nicht in einer bestimmten Zeile?
    Dann läuft mit deim VisualStudio was schief.
    Oder du verwendest VS2012, da funzt der Debugger nicht richtig, und da sollteste mindestens auf 2013 umsatteln, weil ohne gscheiten Debugger kann man nicht programmieren.

    Also das Problem ist eiglich vmtl. gelöst (ungeeigneter Connectionstring) - nur dass du ordentlich debuggen lernst ist eiglich viel wichtiger.
    Also hier im Forum wirst du bei jeder Frage zurückgefragt, in welcher Zeile das Prob auftritt.

    Falls du mal Video gucken willst, wo auch kurz mal ein Debugger auftritt: VisualStudio richtig nutzen (Google ist nicht deine Mami)
    @schaebich,
    da hast du recht

    @all
    ich hab den minicode in eine testproject gepackt, und siehe es ward licht
    Error hier: Using connection As New OleDbConnection(Pfad)
    Der pfad hat eben nur den pfad, es fehlen dei zugaben wie "Provider=Microsoft.Jet.OLEDB.4.0"(oder entspr. ab office 2007)

    Das ding spunkt dann auch dieselbe errormessage aus wie gepostet.





    scheitert an der