Speicheralgorithmus für spezifisches Schema

  • VB.NET
  • .NET (FX) 4.5–4.8

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

    Speicheralgorithmus für spezifisches Schema

    Hallo zusammen,

    ich schreibe für einen befreundeten Motorsportverein ein Programm zur Zeitnahme bei Turnieren. Dieses Programm nutzt zum Datenaustausch eine MySQL-DB und funktionierte bis dato tadellos. Allerdings musste ich das DB-Schema erweitern, um aus der Datenbank die Informationen weiter verwenden zu können.
    Die Datenbankinfos werden in einem DGV angezeigt und die Zeiten der (Trainings-)läufe sollen nach dem Zahlenmuster (siehe Anhang) automatisch in das DGV eingetragen werden. Die Spalten "F-*" beinhalten Fehler in diesen Läufen und werden zeitgleich mit der Rundenzeit gespeichert. Bisher habe ich das durch einen langen Block an IF-Verzweigungen gelöst, welche überprüften, ob der Spalten-Index gerade oder ungerade sei, wodurch ich ermitteln konnte, ob derjenige Fahrer gerade seine Trainingsrunde fährt oder seinen Lauf 1. Durch die Fehlerspalten sind die Indizes allerdings nun alle gerade, weshalb diese Unterscheidung nun schwieriger ist.

    Deshalb möchte ich Euch ganz vorsichtig um Rat fragen, ob Ihr mir bei dem Algorithmus unterstützen könnt!
    Besten Dank im Voraus für Eure Ideen!
    Bilder
    • dgv_schema.PNG

      10,09 kB, 1.281×153, 109 mal angesehen
    In den Raum werf: Man könnte die Columns ja auch über den Namen anstatt dem Index ansprechen...
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    3Angle schrieb:

    Was ist genau dein Ziel?

    Welcher Algorithmus ist gemeint?


    Es wird im Programm eine Zeit gemessen, diese soll per Button-Click an die richtige Stelle im DGV.

    mrMo schrieb:

    In den Raum werf: Man könnte die Columns ja auch über den Namen anstatt dem Index ansprechen...


    Guter Einwurf! Das Programm ist in seiner ersten Version noch unter .net3 entstanden, weshalb ich zugegebenermaßen nicht mehr fit bin.

    Dann bleibt der Punkt offen, diese Zweierketten zu realisieren? Zählergesteuert?

    buchey schrieb:

    diese Zweierketten zu realisieren


    ​Ich würde dir gerne helfen, nur musst du uns schon ein wenig mehr Infos geben.
    Was für "Zweierketten"? -> Nix verstehn dein Sprach ;)
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Sorry, das Thema zu vermitteln ist ein wenig komplex.
    1. Fahrer1: Trainingslauf \
      > Zweierkette
    2. Fahrer2: Trainingslauf /

    Ablauf wäre:
    1. Fahrer 1: Zeit d. Trainingslaufs
    2. Fahrer 2: Zeit d. Trainingslaufs
    3. Fahrer 1: Zeit Lauf 1
    4. Fahrer 2: Zeit Lauf 1
    5. Fahrer 3: Zeit d. Trainingslaufs
    6. Fahrer 4: Zeit d. Trainingslaufs
    7. Fahrer 3: Zeit Lauf 1
    8. Fahrer 4: Zeit Lauf 1
    9. usw ...
    Ich habe (gedankliche) Schwierigkeiten dieses Schema als Schleife abzubilden. Genauer: zu schaffen, dass er nach Schritt 2 merkt, dass er in Lauf 1 schreiben soll und, dass er nach Schritt 4 wieder zurück zum Trainingslauf wechselt.

    buchey schrieb:

    dass er nach Schritt 2 merkt, dass er in Lauf 1 schreiben soll und, dass er nach Schritt 4 wieder zurück zum Trainingslauf wechselt.


    Wer ist "er" bzw. wie kommen die Daten wohin?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Du musst also bei der Erfassung der Daten wissen, an welcher Stelle des Turniers du bist um die richtige Stelle im Grid zu ermitteln.

    Ist der Ablauf eines Turniers immer gleich? Falls ja, versuche doch die Struktur von deinem Grid entsprechend der Reihenfolge zu sortieren.

    Starten die Teilnehmer einzelne oder gemeinsam?

    Alternativvorschlag:
    Separater Dialog zur Erfassung pro Teilnehmer mit x Eingabefeldern für Trainings- und Turnierzeiten. Das Grid würde dann nur die aktuellen Daten laden.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    IMO kann man zu einer Datenverarbeitung kaum was sinnvolles sagen, solange das Datenmodell unbekannt ist.
    Die in post#1 gezeigte Ansicht weist ja Werte aus verschiedenen Tabellen auf, da treten ja Entitäten wie Fahrer, Team, Rennen, FahrerRennen etc auf, also wenns richtig gemacht ist, hat das Datenmodell schon bisserl Komplexität.
    Ists hingegen tatsächlich nur sone platte Tabelle, dann ist nicht richtig modelliert, und kann eh nix werden, mangels tragfähiger Basis.
    Dann müsste man überhaupt erstmal die Prinzipien relationaler Datenmodellierung erlernen, und dann auch DB und typDataset entsprechend aufbauen.

    Ist 'ne Menge zu lernen, aber andererseits ists eine endliche Menge (ist imo in 3 Tagen zu schaffen).
    Und geht nix drumrum, weil relationale Datenmodellierung ist numal das Rüstzeug, was man für sowas braucht.