Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MS SQL Server 2k DE: TClientDataSet->FieldByName()->Value.IsNull() возвращает не то

463
04 мая 2005 года
waterman
178 / / 17.01.2003
Всем привет! Пишу на 5-м Builder'e. Имеется таблица MS SQL Server 2k. Трехзвенная архитектура. На стороне клиента в [FONT=courier new]RemoteDataModule[/FONT] создан [FONT=courier new]TClientDataSet *cdsDC_List[/FONT], в который передаются сервером записи этой таблицы. На форме есть [FONT=courier new]TDBLookupComboBox[/FONT], с которым [FONT=courier new]cdsDC_List[/FONT] связан через поле [FONT=courier new]ListSource[/FONT]. Так вот, вызов
 
Код:
dmClient->cdsDC_List->FieldByName("IsViolated")->Value.IsNull()

всегда возвращает false на полях типа [FONT=courier new]Boolean[/FONT] ([FONT=courier new]bit[/FONT] в MS SQL Server 2k), которые имеют значение NULL в таблице. У меня есть сильное подозрение, что это глюк VCL или Builder'a. Может быть, кто-то сталкивался и знает, как обойти это?

С уважением,
463
04 мая 2005 года
waterman
178 / / 17.01.2003
Решил проблему заменой типа поля с [FONT=courier new]bit[/FONT] на [FONT=courier new]smallint[/FONT] . Для [FONT=courier new]smallint[/FONT] значение [FONT=courier new]NULL[/FONT] нормально "распознается" вызовом [FONT=courier new]Value.IsNull()[/FONT]. Хотя все равно не понятно, почему для [FONT=courier new]bit[/FONT] это не работает.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог