Alle Items aus einer Collection auslesen

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Freeek3.

    Alle Items aus einer Collection auslesen

    Ich programmiere gerade einen Spiellauncher für viele Spiele dazu lese ich aus einer Datenbank alle Spalten einzeln aus und speichere sie in einer Collections. Allerdings kapiere ich nicht wie das Auslesen von allen Items funktioniert deshalb bitte ich um Hilfe ich hab schon Google gefragt und die anderen Threads im Forum haben mir auch nicht geholfen. Ich hoffe ihr könnt mir helfen denn in anderen Problemen habt ihr mit schon geholfen.
    Danke im voraus
    Mfg Freeek3

    ps: wenn ihr denn Quellcode braucht einfach schreiben dann bekommt ihr ihn allerdings glaube ich nicht das ihr ihn braucht weil ich einfach nur ein Beispiel und eine Gute Erklärung haben möchte.
    Es gibt für alles eine Lösung auch für dein Problem schreib einfach einen Thread aber bitte keine PNs die beantworte ich sowieso nicht ;) :!:
    Willkommen im Forum. :thumbup:

    Freeek3 schrieb:

    allerdings glaube ich nicht das ihr ihn braucht weil ich einfach nur ein Beispiel und eine Gute Erklärung haben möchte.
    Ja solche Leute lieben wir. :D
    Kaum ist mir meine Glaskugel runtergefallen, willst Du Info abgreifen.
    Besser ist es schon, wenn Du mal Deinen Code postest.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Ich hatte es eig. schon mal geändert

    ok hier

    VB.NET-Quellcode

    1. Imports SpielLauncher.Deklaration
    2. Public Class Spiele
    3. ' MySQL Verbindung und Speichern Public Shared Sub Verbindung() Dim connection As MySqlConnection connection = New MySqlConnection() connection.ConnectionString = "Server=*;Port=*;Database=*;Uid*;Pwd=*;" Dim cmd As MySqlCommand = New MySqlCommand("SELECT * FROM Games Where id > 0 ORDER BY Spiel", connection)
    4. connection.Open() Dim Reader As MySqlDataReader = cmd.ExecuteReader
    5. Do Until Reader.Read = False Deklaration.Spiel.Add(Reader!Spiel) Deklaration.Instalation.Add(Reader!Instalation) Deklaration.SystemA.Add(Reader!SystemAnforderung) Deklaration.Anzahl.Add(Reader!id) Deklaration.Kategorie.Add(Reader!Kategorie) Deklaration.Information.Add(Reader!Information) Deklaration.Homepage.Add(Reader!Homepage) Deklaration.News.Add(Reader!News) Loop Reader.Close() End Sub ' MySQL Verbindung und Auslessung Ende
    6. ' Gespeicherte Daten Auslesen und überprüfen Start Public Shared Sub Überprüfen()
    7. End Sub ' Gespeicherte Daten Auslesen und überprüfen EndeEnd Class




    und die nötigen Deklarationen

    VB.NET-Quellcode

    1. Public Shared Web As New WebClientPublic Shared Aktuell As String = 0.1



    Hoffe das Reicht
    Es gibt für alles eine Lösung auch für dein Problem schreib einfach einen Thread aber bitte keine PNs die beantworte ich sowieso nicht ;) :!:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Freeek3“ () aus folgendem Grund: aber ich hab keine Ahnung warum er wieder zum alten zurückgegangen ist

    Freeek3 schrieb:

    Hoffe das Reicht
    Na na na.
    Bitte trage dafür Sorge, dass der Code im Forum genau so formatiert ist wie in Deinem Editor.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    fast erledigt

    So jetzt hab ich nochmal darüber geschlafen und mir die anderen Threads angeschaut jetzt glaub ich hab ich's verstanden.
    Jetzt hab ich ein anderes Problem ich hab Probleme mit der MySQL Verbindung soll ich eine neues Thema erstellen oder hier posten ?
    Ich poste es einfach mal hier:

    Ich arbeite mit einem DataReader.
    Die Verbindung wird aufgebaut und der Reader wird deklariert aber ihm wird keine Eigenschaft zugewiesen.

    VB.NET-Quellcode

    1. Public Class Spiele
    2. ' MySQL Verbindung und Speichern Public Shared Sub Verbindung()
    3. Dim Connection As New MySqlConnection
    4. Dim cmd As MySqlCommand Connection.ConnectionString = "Server=**;Port=**;UID=**;Password=**;Database=**" cmd = New MySqlCommand("SELECT * FROM Games WHERE id > 0 ORDER BY Spiel")
    5. Connection.Open() MsgBox("Verbindung erfoglreich") Dim Reader As MySqlDataReader MsgBox("Reader Deklartiert") Reader = cmd.ExecuteReader MsgBox("Reader vereinbart")
    6. ' Do Until Reader.Read = True Deklaration.Spiel.Add(Reader!Spiel) Deklaration.Instalation.Add(Reader!Instalation) Deklaration.SystemA.Add(Reader!SystemAnforderung) Deklaration.Anzahl.Add(Reader!id) Deklaration.Kategorie.Add(Reader!Kategorie) Deklaration.Information.Add(Reader!Information) Deklaration.Homepage.Add(Reader!Homepage) Deklaration.News.Add(Reader!News) Loop Reader.Close() Connection.Close() MsgBox("Verbindng und Speichern erfogreich")
    7. End Sub ' MySQL Verbindung und Auslessung Ende


    Ich habe durch eine Try-Catch-Struktur herausgefunden das der Fehler Connection must be valid and open (die Verbindung muss gültig und ofen sein). Ich weiß nicht was das bedeutet ich weiß nur das der Reader nicht ausgeführt wird.
    Es gibt für alles eine Lösung auch für dein Problem schreib einfach einen Thread aber bitte keine PNs die beantworte ich sowieso nicht ;) :!:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Freeek3“ () aus folgendem Grund: der Code formatiert sich immer um

    Freeek3 schrieb:

    fast erledigt

    fufu schrieb:

    RodFromGermany schrieb:

    Bitte trage dafür Sorge, dass der Code im Forum genau so formatiert ist wie in Deinem Editor.
    Würdest Du bitte so freundlich sein, Deinen Code lesbar zu machen?
    Das soll einfach nur so aussehen:

    VB.NET-Quellcode

    1. Public Class Spiele
    2. ' MySQL Verbindung und Speichern
    3. Public Shared Sub Verbindung()
    4. Dim Connection As New MySqlConnection
    5. Dim cmd As MySqlCommand
    6. Connection.ConnectionString = "Server=db4free.net;Port=3306;UID=spiellauncher;Password=Spiele;Database=launchergames"
    7. ' ...
    8. End Sub
    9. End Class
    Nutze einfach den Vorschau-Button.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RodFromGermany“ ()

    Ich hab den Editor benutzt aber der formatiert sich immer zurück keine Ahnung warum ich kopiere den Code aus meiem Programm in den Editor
    ich probiers nochmal

    VB.NET-Quellcode

    1. Public Class Spiele
    2. ' MySQL Verbindung und Speichern
    3. Public Shared Sub Verbindung()
    4. Dim Connection As New MySqlConnection
    5. Dim cmd As MySqlCommand
    6. Connection.ConnectionString = "Server=db4free.net;Port=3306;UID=spiellauncher;Password=Spiele;Database=launchergames"
    7. cmd = New MySqlCommand("SELECT * FROM Games WHERE id > 0 ORDER BY Spiel")
    8. Connection.Open()
    9. MsgBox("Verbindung erfoglreich")
    10. Dim Reader As MySqlDataReader
    11. MsgBox("Reader Deklartiert")
    12. Reader = cmd.ExecuteReader
    13. MsgBox("Reader vereinbart")
    14. Do Until Reader.Read = True
    15. Deklaration.Spiel.Add(Reader!Spiel)
    16. Deklaration.Instalation.Add(Reader!Instalation)
    17. Deklaration.SystemA.Add(Reader!SystemAnforderung)
    18. Deklaration.Anzahl.Add(Reader!id)
    19. Deklaration.Kategorie.Add(Reader!Kategorie)
    20. Deklaration.Information.Add(Reader!Information)
    21. Deklaration.Homepage.Add(Reader!Homepage)
    22. Deklaration.News.Add(Reader!News)
    23. Loop
    24. Reader.Close()
    25. Connection.Close()
    26. MsgBox("Verbindng und Speichern erfogreich")
    27. End Sub
    28. ' MySQL Verbindung und Auslessung Ende

    Bin bis morgen früh nicht on !!
    Es gibt für alles eine Lösung auch für dein Problem schreib einfach einen Thread aber bitte keine PNs die beantworte ich sowieso nicht ;) :!:
    Erst einmal: bitte mach das nicht! Es ist einfach zu gefährlich, eine Datenbank direkt im Programm anzusprechen. Du speicherst Zugangsdaten, die KEINER sehen darf, aber leider ist es so, dass mit VB, also mit .NET, es immer möglich ist.

    Dann zu deinem Problem: ich verstehe nicht, was dein Problem ist. Magst du mir das nochmal ganz genau erläutern?

    Ich weiß das es gefährlich ist.

    Ich weiß das man das eigentlich über eine php seite macht. ICh werde es jetzt mal probieren falls es Probleme gibt melde ich mich wieder
    Mfg Lars


    ps: Die mySQL Verbindung hat nicht richtig geklappt

    VB.NET-Quellcode

    1. Connection.Open()
    2. MsgBox("Verbindung erfoglreich")
    3. Dim Reader As MySqlDataReader
    4. MsgBox("Reader Deklartiert")

    Bis hierhin hat es geklappt.
    Ab hier klappt es nicht mehr es kommt keine MsgBox.
    Wenn ich es mit einer Try Catch Struktur mache bekomme ich die Fehlermeldung:
    Connection must be valid and open (Verbindung muss gültig und offen sein.

    VB.NET-Quellcode

    1. Reader = cmd.ExecuteReader
    2. MsgBox("Reader vereinbart")
    3. '
    4. Do Until Reader.Read = True
    5. Deklaration.Spiel.Add(Reader!Spiel)
    6. Deklaration.Instalation.Add(Reader!Instalation)
    7. Deklaration.SystemA.Add(Reader!SystemAnforderung)
    8. Deklaration.Anzahl.Add(Reader!id)
    9. Deklaration.Kategorie.Add(Reader!Kategorie)
    10. Deklaration.Information.Add(Reader!Information)
    11. Deklaration.Homepage.Add(Reader!Homepage)
    12. Deklaration.News.Add(Reader!News)
    13. Loop
    14. Reader.Close()
    15. Connection.Close()
    16. MsgBox("Verbindng und Speichern erfogreich")
    17. End Sub
    18. ' MySQL Verbindung und Auslessung Ende


    Wenn einer eine Lösung weiß dann bitte schreiben weil ich mag es nicht ein Problem oder Fehler einfach auszulassen oder überspringen nur weil es einen anderen Weg gibt. Aus Fehlern lernt man schließlich
    Es gibt für alles eine Lösung auch für dein Problem schreib einfach einen Thread aber bitte keine PNs die beantworte ich sowieso nicht ;) :!: