Поделиться через


Рекомендации по обновлению: избегайте распространения пустых значений

Обновлен: Ноябрь 2007

В предыдущих версиях Visual Basic поддерживалось распространение пустых значений. Распространение пустых значений подразумевает, что при использовании значений Null в выражениях результатом выражения также будет NULL. В следующем примере параметр V всегда принимает значение NULL.

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

Распространение пустых значений не поддерживается в Visual Basic 2008. В Visual Basic 2008 оператор 1+Null вызовет несоответствие типов. Кроме того, если в Visual Basic 6.0 было две версии функции Left — Left$ возвращает строку, Left возвращает вариант, который может быть значением NULL, — то в Visual Basic 2008 существует только одна версия функции Left, возвращающая строку.

Для обеспечения совместимости кода с Visual Basic 6.0 и с Visual Basic 2008 всегда следует писать код для проверки на наличие значений NULL, а не полагаться на распространение пустых значений. Более того, в Visual Basic 2008 следующие функции не возвращают значений NULL:

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

Распространение пустых значений обычно используется в приложениях баз данных, где необходимо проверить наличие значений NULL в полях базы данных. В этом случае проверка результатов осуществляется с помощью функции IsNull(); на основе результата этой функции выполняются соответствующие действия.

См. также

Другие ресурсы

Рекомендации по обновлению, касающиеся языка