Announcement

Collapse
No announcement yet.

typisiertes Dataset und NULL-Werte

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

  • typisiertes Dataset und NULL-Werte

    Hallo,

    ich muss eine DB in eine andere übernehmen, mit einigen Umwandlungen usw., aber prinzipiell geht es einfach um zig mal DB_Neu.Feld1 = DB_Alt.Feld1
    Bei der Gelegenheit dachte ich, ich probiere dabei mal typisierte Datasets (nutze ich eigentlich nicht), und schon habe ich ein ärgerliches Problem, von dem ich mir eigentlich nicht vorstellen kann, dass das so wirklich besteht bzw. dass es dafür keine brauchbarere Lösung gibt:

    Wenn nämlich DB_Alt.Feld1 den Wert NULL hat, gibt es einen Fehler. Lösen kann man das wohl über

    IF Not DB_Alt.IsFeld1Null Then DB_Neu.Feld1 = DB_Alt.Feld1

    Und das bei komplett allen Anweisungen. Und bei Abfragen wird das erst richtig nervig, wenn ich ein Boolsches Feld z.B. auf true oder false testen will, muss ich immer auch überhaupt anfragen, ob es nicht auch NULL ist.
    Dinge wie ISNULL( DB_Alt.Feld1) order DB_Alt.Feld1 IS DBNULL.VALUE funktionieren nicht, man muss diese eigens für das Feld vorhandene Funktion nutzen. Und damit kann man nicht mal eine Funktion schreiben (ich wüßte nicht wie), die einem das abnimmt und eben entweder NULL oder, wenn vorhanden, den Wert zurück gibt, ähnlich wie das NZ aus VB6.

    Bei nicht typisierten Datsets läuft das doch so viel einfacher, da funktioniert DB_Neu("Feld1") = DB_Alt("Feld1") auch bei NULL-Werten.

    Sehe ich das alles richtig oder mangelt es mir hier nur an Kenntnissen? An Tipplust jedenfalls mangelt es mir definitiv, ich baue das ganze jetzt untypisiert.

    Würde es auch anders gehen?

    Dave
Working...
X