Datumswerte in MySQL schreiben, Klasse als Ersatz für datetime.now?

  • VB.NET

Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von tragl.

    Kasi schrieb:

    wenn du nix mit SQL am Hut hast kannst du das nicht beurteilen
    Ich hab aber recht viel mit SQL am Hut - zu meinem Leidwesen.
    Aber Retourkutsche:

    Kasi schrieb:

    das ist noch größerer Blödsinn, das mann überhaupt kein SQL lernen muss
    Wenn du nix mit DataAdaptern oder EntityFramework am Hut hast, dann kannst du das nicht beurteilen.



    Aber egal - diese Diskussion ist minder wichtig, und schadet dem TE, weils den Focus vom wirklich wichtigen weg-schiebt.

    Das Wichtige, was ich (an der von dir zitierten Stelle) gesagt hab war:
    Was man lernen muss ist Datenmodellierung und Databinding. Und Vb.net muss man lernen, typisiert programmieren, die richtigen Klassen verwenden und auf die richtige Weise.

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

    Leute, bitte, contenance ;)
    Ich bin ja nur Hobbyprogrammierer, aber selbst ich habe schon gelernt, dass es IMMER mehrere Wege zum Ziel gibt. Auch mehrere gute, also leben und leben lassen, jeder hat halt eigene Präferenzen...

    ErfinderDesRades schrieb:

    Welche Standard-Update-Funktion? Ich wüsste nicht, dass es eine gibt

    ? Die von der GUI automatisch generierten Update, Insert, Select-Funktionen

    ErfinderDesRades schrieb:

    ach - das ist ja lustig! An anderer Stelle hast du behauptet, jeder MA hat immer nur seine eigenen Datensätze.
    Jo, für das Problem wüsste ich auch nix anneres als die Parallelitätsverletzung zu ignorieren, weil sie liegtt ja tatsächlich vor.

    Wie war das, ich fühle mich ungelesen? Ja, das behaupte ich auch immer noch! Und es liegt keine Verletzung vor. Wie ich schrieb, reden wir von unterschiedlichen Feldern. Und wenn wirklich nur die geänderten Daten übernommen werden würden, müsste die Update-Funktion auch nur die Felder speichern, die vom jeweiligen MA geändert wurden. In dem Beispiel, letzterKontakt, das KANN nicht vom normalen MA geändert werden, gehört aber mit zum Datensatz. Also müsste es dem Update schnurz sein, ob es von woanders geändert wurde. Ein Konflikt wäre es doch wohl, wenn das identische Datenfeld von zwei Usern geändert werden würde. Das ist definitiv nicht der Fall.


    Aber MySQL scheint empfindlich (bei mir?) zu sein, wieso ist es Case-Sensitive bei Tabellennamen? Aber nicht bei Datenfeldern? Ist das normal?
    Brauch' ich die?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Hanuta“ ()

    Hanuta schrieb:

    ... dass es IMMER mehrere Wege zum Ziel gibt. Auch mehrere gute, also leben und leben lassen, jeder hat halt eigene Präferenzen...
    Sowas pflege ich ganz undiplomatisch mit "Sozialpädagogen-Gewäsch" zu diskreditieren (vergib mir).
    Im wirklichen Leben stimme ich dem voll zu, aber inne SW-Entwicklung kann man sich da mehr Radikalität leisten (sogar ohne, dasses deswegen zu Toten kommt)
    Im Ernst: Es gibt natürlich immer verschiedene Wege, aber man kann in wohl 80-90% der Fälle feststellen, welcher der beste ist.
    Ist viiieel Diskutiererei, weil erstmal muss man Einigkeit schaffen über die Kriterien.
    Aber auch da ist viel geforscht und diskutiert worden, und hat sich glaub ganz allgemein erwiesen (behaupte ich mal), dass Verständlichkeit und Wartbarkeit die mit Abstand wichtigsten Kriterien von Software sind - weit vor zB Geschwindigkeit.
    Und meine Beurteilungen verschiedener Wege führe ich letztlich immer darauf zurück.
    (Gut, es gibt noch mehr Kriterien - oder sind das eher Vorraussetzungen: Hardware, Installation, KnowHow, Technologie (also Python ist anners als Vb.net). Und funktionieren musses erstmal)
    Jedenfalls jetzt wirds Anti-Sozialpädagogisch: Sobald ich (zB aufgrund der o.g. Kriterien) zu einer begründeten Ansicht komme, dieser Weg sei besser als der andere, wird dieser Weg zum Richtigen, und der andere zum Falschen! 8|
    Weil ist doch logisch, dass man ein Depp ist, wenn man von zwei Wegen - mw. einem guten und einem besseren - ohne weiteren Grund nur den guten wählt, und nicht den besseren.
    Oder?
    /OT



    Hanuta schrieb:

    ? Die von der GUI automatisch generierten Update, Insert, Select-Funktionen
    Ich weiss net, was du meinst - kannst du mal Code-Beispiel einstellen, welche Update-Funktion zB das GUI bei dir generiert hat?
    Meinst du etwa TableAdapterManager.UpdateAll?
    Das schrieb ich in meim Tut, dassis Müll und funktioniert nicht.
    Da ist sogar CodeBeispiel dabei, welches zeigt, wies eine Exception verursacht, wenn mans benutzt.



    Hanuta schrieb:

    Und es liegt keine Verletzung vor. Wie ich schrieb, reden wir von unterschiedlichen Feldern {im selben Datensatz}.
    Da definierst du ParalellitätsVerletzung anders als wie's inne Datenbänkerei halt definiert ist. Oder zumindest was in .net als Paralellitätsverletzungs-Exception implementiert ist.
    Also Parallelitätsverletzung bezieht sich immer auf den ganzen Datensatz.
    Ich verstehe, dass das im problematisierten Fall nicht angemessen ist, aber so isses numal definiert. Wie gesagt: In genau dem Fall wüsste ich auch nix besseres als die Paralellitätsverletzung eben zu ignorieren, und Prinzip "Last-In-Wins" drüberzubügeln.
    Da müsste man also eine Extrawurst für programmieren, aber ich würde doch beibehalten, prinzipiell bei DBConcurrency Exceptions zu werfen.

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

    ErfinderDesRades schrieb:

    In genau dem Fall wüsste ich auch nix besseres als die Paralellitätsverletzung eben zu ignorieren

    ...oder Record-Locking einhäkeln. Dann bekommt der nächste Mitarbeiter angezeigt, dass der Datensatz schon in Bearbeitung is. Dann muss er sich die Telefonnummer halt mal auf nem Zettel notieren und später ändern.
    OnTop könnte man ja sogar ein Wartefenster einbauen - welches anzeigt dass der Datensatz gerade gesperrt ist und sobald das Locking weg ist, kann bearbeitet werden.. ;) (mir fällt grad ein, das brauch ich bei mir auch :D )

    Aber probier' das hier vom ErfinderDesRades mal, nutze ich auch und bin zufrieden!
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup: