Die Geister die ich rief, oder Probleme mit Data Binding in Vb

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von msDotz.

    Die Geister die ich rief, oder Probleme mit Data Binding in Vb

    Hallo an Alle,

    ich bin neu hier im Paradise und hätte da gern mal ein Problem.(Frei nach Bodo Bach):

    Stellt euch vor ein neues VB.Net Projekt . Eine Form. Sinn der Übung soll sein , mittels Zugriff auf eine Access-Datenbank mit drei Tabellen, Kundendaten, Auftragskopfdaten und Auftragspositionen mit Hilfe von DataGridViews anzuzeigen.
    Ich also, nach dem Motto "Faulheit siegt" erledige den Job mit den Helferlein von VS Community 2015. Also OLEDB import, Dateset erzeugt, alle drei Tabellen drin. Mit Drag'n Drop die DGVs auf die Form. Fertig. Die Beziehungen zwischen den Tabellen sind im Dataset abgelegt.
    Programm tut was es soll. Alles super.
    Dann kommt mein "Fehler" . Ich will die Positionen an der Stelle nicht mehr sehen.
    Als alter Borland Delphi Entwickler denke ich mir, das geht doch ganz einfach.
    Werfe das DatagridView der Positionen raus und lösche alles was da automatisch in Bezug auf die Positionen erzeugt wurde.
    Ok. Dann lief nichts mehr. "Hunderte" von Fehlern. Wo? In Texten, die MS erzeugt hat. Nicht ich.
    Wenn ich alles ignorieren klicke, habe ich eine leere Form. Mühevolle Handarbeit, zum Entfernen erzeugter Codezeilen, war notwendig, um das Ganze wieder ans Laufen zu bekommen.
    Warum sind diese Leute nicht in der Lage ihren "Kot" sauber wegzuräumen? Ist für mich unverständlich. Aber ich bin bestimmt nur "verwöhnt".

    Kann man diesen manuellen Aufwand vermeiden, oder wenigstens minimieren?
    Für Ideen, Anregungen, etc. bin ich dankbar.

    L. G.
    msDotz
    Ja, kenn ich. Daher gehe ich gerne zu Fuß und lasse solche Helferlein weg. Sprich: Ich schreibe die Connection zur DB inkl. laden/speichern/etc. der Daten manuell in eine eigene Klasse. Dort ist alles drin was ich brauche und kann bequem verwendet werden.
    "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
    Ich sehe das genau vonne anneren Seite: Da muss man die Designer nicht generell vermeiden, denn wenn mans richtig macht, sparen die einem eben doch jede Menge Arbeit.
    Man muss aber wissen, was man tut - Folgerung: Lerne, zu wissen, was du tust.
    Und ja: Delphi hatte glaub eine stärkere Integration der DB-Zugriffe in den Code, in VB.Net läuft das alles über Strings.
    Und das ist auch das Problem beim lustigen Rauslöschen von iwelchen DB-Objekten:
    Wenn Oberfläche diese DB-Objekte genutzt hat, dann ist anschließend die Oberfläche im Eimer, meist unrettbar.
    Und das ist auch logisch, denn VB.Net kann seinen Kram eben nicht "aufräumen", weil der Compiler kann alles mögliche, aber was in Strings drinne steht - da kanner nicht reingucken.
    Wenn also eine DGV-Column an "Positionen" gebunden ist, und du änderst im Datenmodell diesen Namen - ja, dann ist Gui im Eimer - das crasht schon im Form-Designer, wenn da versucht wird, ein Binding an "Positionen" einzurichten, die es ja nicht mehr gibt.

    Übrigens sollte das Löschen eines DGVs niemals zu derlei Katastrophen führen, ich nehme an, der TE erzählt nicht ganz korrekt, wie er sein Projekt verdaddelt hat.
    Also ich nehme an, dass du unter vielen Änderungen die entscheidende, fatale, nicht richtig identifizierst (was nun auch garnet mehr geht).

    Wie dem auch sei, also ich empfehle:
    • Benutze die vorgesehenen Technologien - mach keinen Bogen für immer darum, weil einmal damit auf Nase gefallen
      Guggemol vier Views-Videos - diese Vielfalt an Möglichkeiten wirst du mit "Handarbeit" niemals erreichen, ja nichtmal kennenlernen. Ma abgesehen davon, dass ein "Handarbeits-Versuch" zu kilometerlangen Codes führt, der wieder ganz annere Probleme aufwirft, den typDataset-Problemen sicherlich ebenbürtig (die Probleme ;) )
    • Gewöhne dir häufige Backups an. Dazu kannste entweder ein CodeVerwaltungs-Tool hernehmen und installieren, oder mit meim SolutionExplorer, der kann u.a. eine Solution verzippen