Announcement

Collapse
No announcement yet.

Problem mit Null

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

  • Problem mit Null

    Hallo,

    ich habe mit D5 ein Datenbankprogramm erstellt (BDE).
    Mit

    if TableDaten.FieldValues['Mass'] = Null then ....

    prüfe ich ob leeres Feld. Funktionierte bisher wunderbar.
    Nun will ich mit D6 weiterarbeiten bekomme aber Fehlermeldung:

    [Fehler] : Undefinierter Bezeichner: 'Null'

    Ich habe unter uses Variants eingefügt, nun keine Fehlermeldung mehr, aber
    das Progi funktioniert nicht mehr.

    Gruß
    Rolf

  • #2
    Hallo,<p>
    Operationen mit Varianten sind eh nicht performant, am besten <p>
    TableDaten.FieldByName('Mass').IsNull <p>
    nutzen

    Comment


    • #3
      Danke für den Hinweis, aber nun bekomme ich die Fehlermeldung:
      Ungültige Variant-Operation

      Comment


      • #4
        Hallo,

        die früheren Delphi-Versionen verwendeten für Variants die Microsoft-Implementierung in Win32. Mit Delphi 6 hat Borland zur Anpassung an Kylix dies geändert - für die Variants sind nun Borland-Funktionen zuständig (die allerdings auch nach dem UpdatePack#1 für Delphi 6 an vielen Stellen immer noch fehlerbehaftet sind). Je nach Gemütsverfassung des Entwicklers gibt es nun 2 Optionen: <br>
        a) Delphi 5 verwenden (Idealfall), oder <br>
        b) Delphi 6 weiterhin nutzen und mit <b>VarIsNull</b> (Unit <i>Variants</i>) vorher nachfragen, ob man auf diese Information zugreifen darf:
        <pre>
        ADOTable1.First;
        while not ADOTable1.Eof do
        begin
        if not VarIsNull(ADOTable1.Fields[0].Value) then
        ShowMessage(ADOTable1.Fields[0].Value);
        ADOTable1.Next
        end;
        </pre&gt

        Comment


        • #5
          Hallo,<p>
          ist das abhängig von der Datenbankart? Ich hatte "IsNull" mit Delphi6, BDE und Paradoxtabelle getestet und es funktionierte tadellos

          Comment


          • #6
            Du muss nur die unit Variants einbinden, dann kommt Delphi wieder mit Null klar

            Comment

            Working...
            X