Share via


Empfehlung zur Aktualisierung: Vermeiden von Nullverteilung

Aktualisiert: November 2007

Die Nullweitergabe wird von früheren Versionen von Visual Basic unterstützt. Die Nullweitergabe unterstützt das Postulat, dass das Ergebnis eines Ausdrucks selbst NULL ist, wenn Null in einem Ausdruck verwendet wird. Im folgenden Beispiel lautet das Ergebnis von V in jedem Fall stets NULL.

Dim V
V = 1 + Null
V = Null + Right$("SomeText", 1)
V = Right("SomeText", 0)

Die Nullweitergabe wird in Visual Basic 2008 nicht unterstützt. Die 1+Null-Anweisung führt in Visual Basic 2008 zu einem Typenkonflikt. Während Visual Basic 6.0 außerdem zwei Versionen der Left-Funktion beinhaltete – Left$, die eine Zeichenfolge zurückgibt, und Left, die einen Variantentyp zurückgibt, der NULL sein kann –, existiert in Visual Basic 2008 nur eine Version, Left, die stets eine Zeichenfolge zurückgibt.

Der Code sollte immer mit einem Test auf NULL geschrieben werden, anstatt sich auf die Nullweitergabe zu verlassen. Dadurch bleibt die Kompatibilität sowohl mit Visual Basic 6.0 als auch mit Visual Basic 2008 gewährleistet. Darüber hinaus geben folgende Funktionen in Visual Basic 2008 nicht mehr NULL zurück:

Chr, Command, CurDir, Date, Environ, Error, Hex, LCase, LTrim, Oct, Right, RTrim, Space, Str, Time, Trim, UCase

Nullweitergabe wird in der Regel in Datenbankanwendungen verwendet, in denen überprüft werden muss, ob ein Datenbankfeld die Null enthält. In diesen Fällen sollten die Ergebnisse mithilfe der IsNull()-Funktion überprüft und die entsprechende Aktion ausgeführt werden.

Siehe auch

Weitere Ressourcen

Sprachempfehlungen zum Aktualisieren