Daten in mehrere Datenbanken und Tabellen füllen, besserer Weg möglich?

  • VB.NET
  • .NET 5–6

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

    Daten in mehrere Datenbanken und Tabellen füllen, besserer Weg möglich?

    Servus Leute,

    ich habe einen großen Datensatz an Produkten, Preisverlauf, Großhändler, mit Datenrelationen.

    Diese will ich, da ich diese extern updaten will, in eine Datenbank speichern, da das updateprogramm auf einen Server liegt und ich mit meinem Hauptprogramm nicht ständig die Preise etc. aktualisieren kann.

    Nur ich habe da ein Verständnisproblem.
    Ich hab mehrere Datentabellen. ich kann auch leider keine Dataadapter im Dataset hinzufügen, außer ich würde die komplette Datenbanken incl relationen neu schreiben.
    Jetzt will ich das alles per Code deklarieren.

    Der Zugriff auf die Datenbank ist in Ordnung:

    VB.NET-Quellcode

    1. Dim connStr As New MySqlConnectionStringBuilder
    2. connStr.Server = "127.0.0.1"
    3. connStr.Database = "productdata"
    4. connStr.UserID = "root"
    5. connStr.Port = 3306
    6. Dim Mysqlcmd As New MySqlCommand
    7. Using conn As New MySqlConnection(connStr.ToString)
    8. conn.Open()
    9. Mysqlcmd.Connection = conn
    10. Mysqlcmd.CommandText = "INSERT INTO hauptkategorie(ID, NAME, Auslesen,Pfad) VALUES('1', 'Wert2', 'Wert3','Wert4') "
    11. Mysqlcmd.ExecuteNonQuery()
    12. End Using


    Jetzt fügt er die Werte ja ein. Aber ich habe jetzt mehrere Datenbanken mit mehreren Tabellen, welche ich auch noch updaten will... Muss ich jetzt für jede Datenbank und jede Tabelle einen eigenen Code schreiben?
    Das ist nur eine der Datenbanken:


    Da würde ich ja ewig sitzen, um alle Tabellen und Datenbanken mittels Code ein Instert command zu schreiben. Dann kommt ja noch der Update und Delete Command. Gibt es da eine andere, smartere Lösung? Desweiteren muss ich ja jede Datenbank und jede Tabelle händisch anlegen. Gibt es da eine Möglichkeit, zu sagen, für jede Datenbank (für jedes Dataset) soll bei der Verbindung(wenn nicht schon vorhanden) eine Datenbank (MySQL) erstellt werden und gleich die Tabellen mit dazu?
    PS: es handelt sich hierbei nur um eine Testdatenbank um mit den Grundlagen sich vertraut zu machen

    trix0 schrieb:

    Grundlagen
    eine Grundlage ist, dass man üblicherweise nur mit einer Datenbank arbeitet, besonders als Anfänger.

    trix0 schrieb:

    Muss ich jetzt für jede Datenbank und jede Tabelle einen eigenen Code schreiben? ... Dann kommt ja noch der Update und Delete Command.
    Ja, so ist das wohl vorgesehen.
    Ziemlich idiotisch, in der Tat.
    Ich hab mal was gebastelt, was ein typisiertes Dataset analysiert, und anhand dessen geeignete DataAdapter anlegt, wo dann für alle Tabellen alle diese Commands bereitgehalten werden.
    Aber das ist nur für ein typisiertes Dataset, kommunizierend mit einer Datenbank.

    Ich weiss garnet, ob ich dir den Link raussuchen soll, weil du willst ja alles im Code deklarieren - dafür ist mein Konstrukt nicht geeignet.
    Auch weiss ich nicht, ob du mit Dataset dasselbe meinst wie ich mit typisiertem Dataset.

    Auch blicke ich nicht durch, was "extern updaten" bedeutet, und es gibt ein UpdateProgramm auf einem Server, und ein Hauptprogramm, und es sollen Datenbanken Out-Of-the-Box erstellt werden, und du willst dich mit Grundlagen vertraut machen.

    Wie gesagt: Ich kann eine Lösung bieten für eine Db und ein Dataset - das andere sind alles gewaltig dicke Bretter, eher was für ein professionelles Entwicklerteam.
    Ich hab mal was gebastelt, was ein typisiertes Dataset analysiert, und anhand dessen geeignete DataAdapter anlegt, wo dann für alle Tabellen alle diese Commands bereitgehalten werden.
    Aber das ist nur für ein typisiertes Dataset, kommunizierend mit einer Datenbank.

    Ich weiss garnet, ob ich dir den Link raussuchen soll, weil du willst ja alles im Code deklarieren - dafür ist mein Konstrukt nicht geeignet.
    Auch weiss ich nicht, ob du mit Dataset dasselbe meinst wie ich mit typisiertem Dataset.

    Auch blicke ich nicht durch, was "extern updaten" bedeutet, und es gibt ein UpdateProgramm auf einem Server, und ein Hauptprogramm, und es sollen Datenbanken Out-Of-the-Box erstellt werden, und du willst dich mit Grundlagen vertraut machen.

    Wie gesagt: Ich kann eine Lösung bieten für eine Db und ein Dataset - das andere sind alles gewaltig dicke Bretter, eher was für ein professionelles Entwicklerteam.


    Entschuldigung, da habe ich selbst was durcheinander gebracht gestern Abend. Ich war da leider schon gedanklich beim schlafen.

    Also. Ich habe 1 Dataset. In diesem Dataset sind mehrere DataTable mit mehreren Spalten.
    Ich habe nicht mehrere Datenbanken, sondern lediglich nur eine.
    also das ist mein Werk, mit dem ein typisiertes Dataset sich jederzeit vollständig gegen eine DB synchronisieren kann: Dataset->Db (DbPersistance)
    Also Daten abrufen, Änderungen hinschicken.
    Es nutzt die Änderungsverfolgung des Datasetss, also die Daten wissen selbst, wie sie sich mit der DB synchronisieren müssen (update,insert,delete).