typisiertes Dataset in Visual Studio 2017

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Ecki P..

    typisiertes Dataset in Visual Studio 2017

    Ich arbeite mich derzeit in die tDS ein und folge da gerne den Tuts über die vier Views (danke an @ErfinderDesRades).

    Da ich dabei nicht einfach nur abpinne, sondern auch so einiges ausprobiere, stoße ich immer mal wieder auf ein paar Problemchen, die ich nicht einordnen kann:

    1. Beim Erstellen des typ Datasets wird dieses im Project Explorer unterschiedlich dargestellt - manchmal kann ich da noch einen Reiter aufklappen (rechts) - manchmal nicht (links), dann wird da noch ein Tag "Ausstehender Hinzufügevorgang" angezeigt.


    ich bin hier nicht sicher, ob mich das im Ablauf stört - ich bin aber immer skeptisch, wenn ich ein scheinbar willkürliches Programverhalten beobachte (meistens ist es halt nicht willkürlich und liegt dann doch am User...)

    2. Ich erhalte in meiner Main-Form, in der ich die DGVs mit den tDS verknüpfe regelmäßig Fehlermeldungen wie diese hier:


    Das tritt vor allem dann auf, wenn ich im Dataset Spalten ändere, lösche oder an den Relationen rumspiele. Die Fehlermeldung steht aber oft gar nicht im direkten Zusammenhang mit den gelöschten Einträgen (hier waren die angegebenen Spalten z.B. gar nicht betroffen...). In diesem Stadium kann ich auch nichts mehr rückgängig machen - wenn ich Glück habe, ist das alles beim Neustart wieder weg - wenn ich Pech habe, stehe ich plötzlich vor einer leeren Form, habe aber noch ne Menge Schotter unter der Form im Projektmappen Ordner stehen...
    Mache ich hier einen systematischen Fehler oder ist das eine VS2017 Instabilität? Die richtige Frage lautet natürlich: welchen Fehler mache ich da?

    3. Das nachträgliche Umbenennen eines typ Datasets scheint das Visual Studio auch nicht zu mögen?


    4. Ganz fatal: ich kann die Eigenschaft CategoryRow nicht finden...


    ist die mittlerweile durch eine andere Eigenschaft ersetzt worden?

    5. Und wieso habe ich hier plötzlich 2 AddLandRow Funktionen?

    Bin wie immer für jeden Kommentar, der mich hier weiterbringt, dankbar!

    Gruß,
    Ecki

    Ecki P.

    Microsoft Windows Home 10
    Microsoft Visual Studio Community 2017 / Version 15.8.8
    Microsoft SQL Server Management Studio 14.0.17289.0
    .NET Framework 4.6.1
    Es hat gar keinen Sinn, sich mit dem Programm zu streiten... am Ende hat es einfach immer Recht!
    5.: Tippe sie im CodeEditor ein und lass Dir von IntelliSense helfen. Einmal kannst Du ne komplette Row hinzufügen, einmal die einzelnen Daten eingeben. Ist m.E. bei jeder Add...Row-Funktion so, dass min 1 Überladung dabei ist.
    4.: CategoryRow? Erscheint nur dann, wenn Du im tDS auch ne Category-Tabelle hast. Nicht zu sehr vom Tutorial verwirren lassen ;) N Bild Deines tDS-Designers wäre sinnvoll.
    3.: Jup. Ist ganz eklig und schwierig. Hab ich bei Mikrosaft schon angemeckert.
    2.: Da im Formular schon Bindungen drin sind, reagiert VS sehr empfindlich auf Änderungen im tDS. Auch das habe ich bei Mikrosaft angemeckert. Genausowenig Reaktion drauf. Wen wundert's.
    1.: Klingt so, als ob Du Versionskontrolle aktiviert hast. Aber hey, btw: Reicht nicht ein tDS pro Projekt für Dich?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Super - schnelle Rückmeldung :thumbup:

    wie peinlich... da habe ich nun hier öffentlich unter 4. dokumentiert, dass ich den Code im Tut mal nicht richtig hinterfragt und somit gar nicht verstanden hatte... :whistling: nun is klar...

    aber noch mal zu …
    1. Versionskontrolle müsste ich sicherlich aktiv aktivieren? Bin mir da keiner Schuld bewusst (wüsste gar nicht, wie und wo ) und zudem zeigt sich das tDS halt mal so, mal so... aber schadet so auch nichts, oder? (und ja - ich brauche hier nur eines; das sind zwei Fenster von unterschiedlichen Testprojekten und in einem Projekt hatte ich einfach mal zwei tDS angelegt, um zu sehen, ob die gleich reagieren)

    2. und. 3. ärgerlich, aber nun muss man halt damit umgehen...

    5. Die Überladung per Funktion + Sub ist mir klar - ich bin nur überrascht, dass hier eben eine Sub und 2 Funktionen auftauchen. Kann es sein, dass die auch entstehen, wenn ich Spalten später einfüge?

    Ecki P.

    Microsoft Windows Home 10
    Microsoft Visual Studio Community 2017 / Version 15.8.8
    Microsoft SQL Server Management Studio 14.0.17289.0
    .NET Framework 4.6.1
    Es hat gar keinen Sinn, sich mit dem Programm zu streiten... am Ende hat es einfach immer Recht!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Ecki P.“ ()

    Darstellungsfehler - typisiertes Dataset in Visual Studio 2017

    interessant ist nun auch die neue Darstellung im tDS Designer... ?(



    die Relationen fluppen alle noch, aber ich musste hier die einzelnen Tabellen ein paar mal verschieben, bis die wieder ordentlich dargestellt werden

    Ecki P.

    Microsoft Windows Home 10
    Microsoft Visual Studio Community 2017 / Version 15.8.8
    Microsoft SQL Server Management Studio 14.0.17289.0
    .NET Framework 4.6.1
    Es hat gar keinen Sinn, sich mit dem Programm zu streiten... am Ende hat es einfach immer Recht!
    Auf die Gefahr hin, dass das hier zu meinem Selbstgespräch wird (oder mein persönliches Logbuch)…
    die zweite Add... Funktion scheint sich zu erstellen, wenn ich im tDS eine Expression einbaue - weitere Expressions ändern diese dann nur noch.

    Ecki P.

    Microsoft Windows Home 10
    Microsoft Visual Studio Community 2017 / Version 15.8.8
    Microsoft SQL Server Management Studio 14.0.17289.0
    .NET Framework 4.6.1
    Es hat gar keinen Sinn, sich mit dem Programm zu streiten... am Ende hat es einfach immer Recht!
    Bzgl. tDS-Designer-Darstellungsfehler: Ja, passiert manchmal. Etwas nervig, aber hat keinen Einfluss auf die Funktionalität. Eine Möglichkeit: alles (!) markieren, ausschneiden, einfügen. Dann wird alles komplett neu angeordnet.

    Ich dächt ich hätte das mit dem (+) immer nur gesehen, wenn irgendwie die Versionskontrolle aktiv war. Aber hatte ich lange nicht mehr, weil ich da was eigenes habe. Daher habe ich auch die (+)-Symbole nicht.

    Das mit der zusätzlichen Add...Row-Funktion: Wenn Du optionale Spalten hast, dann gibt's eben eine Funktion mit und eine ohne die Möglichkeit, jene Spalte zu befüllen. Optionale Spalten sind solche mit Expressions, da diese ja normalerweise automatisch befüllt werden.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Also der 1. Punkt liegt an dem was @Amro beschreibt. Zu deinen Fehlermeldungen aus Punkt 2. Werden denn Daten schon irgendwo gespeichert? zB in einer XML Datei, wie auch in den Tutorials?
    Dann bereinige das Projekt und lösche einmal die XML, dann sollte es wieder gehen.
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.
    @Akanel
    ja, der erste Punkt ist geklärt, wie @Amro beschrieben hatte.
    Punkt 2 tritt auch nach der "Bereinigung" auf - ich wüsste auch nicht, inwieweit die XML, die ja nur zur Laufzeit aufgerufen wird, sich hier im Designer austoben könnte... Im Code stehen dann ja auch nur Verweise auf die tDS an sich - die einzelnen Tabellen, Spalten oder Eigenschaften werden nicht aufgerufen.

    Also hier mal ein Fazit:
    1. Einstellung im Projektmappen-Explorer (alle Daten anzeigen)
    2. VS ist hyperempfindlich! Einfach aufpassen...
    3. dito - früher die Namen überlegen...
    4. Ecki war einfach zu doof X/
    5. zweite Funktion wird mit optionalen Strings zusätzlich angelegt, wenn eine Expression eingefügt wird
    6. (Nachtrag tDS Designer) isso, warimmerso, machtabernix...
    gute Ausbeute :thumbsup:

    Ecki P.

    Microsoft Windows Home 10
    Microsoft Visual Studio Community 2017 / Version 15.8.8
    Microsoft SQL Server Management Studio 14.0.17289.0
    .NET Framework 4.6.1
    Es hat gar keinen Sinn, sich mit dem Programm zu streiten... am Ende hat es einfach immer Recht!
    Zu 3 -> Ja - überhaupt bei der Änderung einer der Relationen. Da solltest sowieso alle Bindungen dazu in der Form zuerst lösen und die Relation im DS neu einstellen. Dann wird Punkt 2 stabil.
    Fakt ist, bevor dein Datenmodell nicht wirklich passt, musst du in der Form öfters die Bindung neu aufbauen - aber ganz wichtig, bevor du im DS herumfummelst erst die betroffene Bindung in der Form lösen. Sonnst läufst du in solche Fehlermeldungen...
    Und natürlich gaaaanz zuerst dein Projekt sichern!
    Generierter Code ist bei nachträglichen Änderungen problematisch.
    Im Falle Databinding an Dataset hast du im Dataset generierten Code, und der FormDesigner generiert weiteren Code (nämlich die Databindings), der auf den generierten Dataset-Code aufbaut.
    Iwie logisch, dass an dieser Stelle das CodeNamen-Änderungs-Managment des VisualStudio iwann nicht mehr mitkommt.
    Allerdings gibt letzteres bereits auf, wenn du eine Property des typDatasets ändern willst. Dazu ist zu sagen: Der DatasetDesigner speichert die TabellenNamen in seiner .xsd, und generiert daraus die CodeNamen.
    Auch iwie logisch, dass das CodeName-Änderungs-Managment nicht in die xsd gehen kann, und da die Änderung auch nachführen.
    (also sicher wäre derlei prinzipiell technisch möglich, aber ...)

    Zum Thema Projekt sichern kann man entweder sich eine SourceControl-Umgebung einrichten.
    Oder SolutionExplorer - OpenSource - das kann Sources zippen.

    Zu punkt 3: "dito - früher die Namen überlegen..." Jo - das ist wohl die meist-unterschätzte Programmier-Aufgabe ever.
    Hier noch paar Tips dazu:
    codeproject.com/Articles/10331…eginners#Model-Guidelines
    Das sind v.a. Aussagen zur Benamung

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ErfinderDesRades“ ()

    spannend, ihr habt mich dazu gebracht, alle meine Ansätze der letzten 2~3 Monate komplett über den Haufen zu werfen und noch mal gaaaaanz am Anfang zu starten. Seit ich anno 1873 mal mit Programmieren begonnen hatte hat sich doch ne Menge getan (tatsächlich hatte ich seit etwa 1994 gar nicht mehr programmiert - und damals auch nur ganz im Kleinen... OOP war da noch ziemlich jung und hatte sich mir gar nicht erschlossen).

    Das ist nun zwar erstmal recht ernüchternd, aber unterm Strich macht es Spaß und erweitert den Horizont (so wie die heutige Musik meiner Kinder <X ). Die verschiedenen Tuts, Artikel und eure Kommentare sind alle sehr hilfreich!!! :thumbsup:

    Vielleicht kriege ich mein Programm vor der Rente ja noch fertig :D

    Ecki P.

    Microsoft Windows Home 10
    Microsoft Visual Studio Community 2017 / Version 15.8.8
    Microsoft SQL Server Management Studio 14.0.17289.0
    .NET Framework 4.6.1
    Es hat gar keinen Sinn, sich mit dem Programm zu streiten... am Ende hat es einfach immer Recht!