Announcement

Collapse
No announcement yet.

C# MySql Tabellenverknüpfen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • C# MySql Tabellenverknüpfen

    Es ist vielleicht ein etwas schwierigeres Thema im großen und ganzen habe ich
    die ganze MySql Geschichte schon drauf vieles findet man ja schon so in Foren

    doch dazu hab ich auch so nichts gefunden
    zu meine Situation:

    Ich programmiere ein Warenwirtschafts System folglich benutzt auch mehr als
    1er gleichzeitig das Programm. Wenn neue Artikel eingekauft werden
    müssen die neu angelegt werden.
    Ich lade beim starten des Programms alle ca. 20000 bereits bestehende Artikel, das dauert nunmal sobald jemand etwas anlegt bzw ändert im DataGridView(dementsprechend auch in der DB) muss das ja überall neu geladen werden. Jedes mal die Liste komplett neu laden dauert zu lang.

    Nun zu der Frage:
    Gibt es nicht eine Möglichkeit wo die DataTable oder das dgView mit der MySql Tabelle Verknüpft sind halt das er das automatisch verändert sobald sich die Tabelle änder sozusagen als Datenquelle anlegen

    Ich hoffe ihr könnt mir weiterhelfen

  • #2
    Prinzipiell würde ich Dir davon abraten immer ALLES zu laden. Mit diesem Datenwust kann kein Mensch was anfangen. Schließlich kann man in SQL auch eine WHERE Klausel angeben in der man die Datensätze filtern kann. Die Abfragen gehen dann natürlich auch wesentlich schneller.

    Ausserdem würde ich auch nicht von der DB aus updates des Grids anstoßen. Das würde zu oft zu Konflikten kommen und bei sehr vielen Usern auch zu einem unglaublichen Traffic führen, ganz zu schweigen davon dass die meisten DBRMS das gar nicht unterstützen.

    Ich würde das Problem so lösen: Einen Filter auf die Abfrage setzen, damit die Abfrage wesentlich schneller geht. Damit kann der User öfters aktualisieren und er muss nicht warten. Deswegen braucht er auch keine "Live" Synchronisation mit der DB.

    Warum programmiert eigentlich jeder sein Warenwirtschaftssystem selbst? Es gibt viele fertige Lösung die mit Sicherheit einiges besser können als selbstgestrickte Lösungen.

    Comment


    • #3
      Danke für die schnelle Antwort

      also es soll ja nur ne übersichtstabelle sein
      die änderungen werden auch nicht direkt über das dgView gemacht

      es gibt da noch so unterpunkte (treeView)
      Wo man Artikel hinzufügen bzw einzelne bestehende Artikel ändern kann

      Die Übersichtstabelle hat noch eine eingebaute Filterfunktion
      damit die Leute auch finden was Sie genau Suchen

      aber so eine Live syncronisation ist möglich
      bzw würde es die Ladezeiten dementsprechen verkürzen
      oder wie funktioniert die

      Comment


      • #4
        Eine Tabelle mit 20000 Artikeln ist NICHT übersichtlich. Was soll der User mit dem Datenwust anfangen? Die Tabelle muss irgendwie gefiltert werden damit sinnvolle Information rausfällt.

        Es gibt Datenbanken die so etwas unterstützen (ich glaube SQL Server hatte so etwas mal - oder hat es schon wieder - weiss ich leider nicht). Ich weiss aber nicht ob MySQL das unterstützt und das wäre auch wirklich das letzte was ich versuchen würde.

        Comment


        • #5
          Ja ok gut
          deine Antwort hat mich auf eine Idee gebracht

          ich werd die Übersicht 'leer' laden mit spaltennamen weil die auch in verschieden Spalten Filtern
          und dann nur das gesuchte ausgeben

          danke

          Comment


          • #6
            Genau das ist das was ich meinte dann bekommst du nicht direkt erstmal 20000 sondern vielleicht nur 100 oder 200 und das lädt ja wesentlich schneller als 20000.
            Damit hat sich dann auch das Problem mit der Synchronisation, weil jeder einfach mal schnell aktualisieren drücken kann

            Comment

            Working...
            X