MySQL Verbindungszeichenfolge optimieren

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    MySQL Verbindungszeichenfolge optimieren

    Ich nutze folgende Zeichenfolge um eine Abfrage in einer DB durchzuführen und anzuzeigen:

    VB.NET-Quellcode

    1. Using conn As New MySqlConnection(My.Settings.db_vision_client)
    2. Using connection As New MySqlConnection(conn.ConnectionString)
    3. Using MyAdapter As New MySqlDataAdapter("Select ...", connection)
    4. Using myTable As New DataTable()
    5. MyAdapter.Fill(myTable)
    6. suche_haushalte.daten1.ItemsSource = myTable.DefaultView
    7. End Using
    8. End Using
    9. End Using
    10. End Using


    Ich möchte den Code gern optimieren; verkürzen. Generell funktioniert alles gut aber mir wurde mal gesagt ich erstelle die Abfrage doppelt...o.s.ä. Was kann ich hier besser machen?

    Thomas2705 schrieb:

    Using conn As New MySqlConnection(My.Settings.db_vision_client)
    Using connection As New MySqlConnection(conn.ConnectionString)
    Kannst du ersetzen durch

    VB.NET-Quellcode

    1. ​Using connection As New MySqlConnection(My.Settings.db_vision_client)
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Ich würde dir empfehlen, Datenbank-Zugriffe in einer Klasse oder einem Modul zusammenzufassen.
    Dort brauchst du dann auch nur eine einzige Connection, die du einmal anlegst, und für alle Zugriffe wiederverwendest.
    Du kannst noch weitergehen, und für alle Zugriffe je einen DataAdapter vorbereiten, der wiederverwendet wird, wenn die Tabelle erneut angesprochen werden soll.
    Mit ConnectionBuilder kann man auch bewirken, dass DataAdapter nicht nur lesen, sondern Änderungen auch rückspeichern könnnen.
    Noch weitergehen kann man, wenn man für jede DB-Tabelle eine DataTable vorbereitet - die dann nicht immer weggeworfen wird, sondern nur gelöscht und neu befüllt.
    USW...

    Jedenfalls Kerngedanke ist, ein Repository zu schaffen, was an einer Stelle den DB-Zugriff konzentriert, und die Daten-Kommunikation für die Anwendung bereitstellt.