![]() |
|
|
![]()
|
|
| mspuz |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 20.6.2005 Где: Ногинск Репутация: нет Всего: нет |
Проблема
в Interbase я писал: if IBQuery1.FieldValues['recno']<>null then MyPer:=IBQuery1.FieldValues['recno'] else MyPer:=''; а в BDE такое не прокатывает - пишет, что необъявленная переменная "null". Пробывал использовать "nil", тоже не получилось. Так как надо??? |
|||
|
||||
| Darhazer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 28.9.2005 Где: HellCity (Sofia, Bulgaria) Репутация: нет Всего: 29 |
А попробувал is not null ?
P.S. это в самом запросе, я поздно увидел что ты сравниваеш уже результати запроса Попробуй пустую строку ("") пользуват? Это сообщение отредактировал(а) Darhazer - 7.10.2005, 11:33 -------------------- I'm a wheel, I'm a wheel, I can roll, I can feel But you can't stop me turning 'Cause I'm the sun, I'm the sun, I can move, I can run But you'll never stom me burning |
|||
|
||||
| mspuz |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 20.6.2005 Где: Ногинск Репутация: нет Всего: нет |
Пробовал я с пустой строкой - не получается
|
|||
|
||||
| Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 6 Всего: 55 |
Что-то не то ты пишешь.
1. Null это функция возвращающая "пустое" значение типа Variant. А по сему, никакого отношения к способу доступа к БД (BDE, Interbase, и пр.) это не имеет. Кстати, это функция определена в модуле Variants, и если тебе компилятор пишет "необъявленная переменная "null"." , то вероятно ты забыл указать этот модуль в uses. 2. А для проверки на Null значения поля, у каждого поля есть метод IsNull. Вот его и логичнее использовать в твоем случае. Например так:
3. Именно твой фрагмент я бы записал так:
Семантически это будет эквивалентно, зато гораздо естественнее смотрится. Это сообщение отредактировал(а) Петрович - 7.10.2005, 11:58 -------------------- Все знать невозможно, но хочется |
||||
|
|||||
| kobra |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 1 Всего: 9 |
1. ето луще делать в запросе ISNULL(field, '') AS field (правда не помню, в интербеис такое есть?).
2. гдето, когдато читал что в физическои базе NULL занимает болше места, чем пустое значение, по етому было рекомендовано ползоватся пустым значением, числом 0, заведомо установленнои нереалнои датои. |
|||
|
||||
| mspuz |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 20.6.2005 Где: Ногинск Репутация: нет Всего: нет |
Петрович Огромное спасибо!!! Очень точный и полностью исчерпывающий ответ!!!
P.S. Узнал много нового |
|||
|
||||
| Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 6 Всего: 55 |
Иногда бывает необходимость проверки на NULL в программе а не в запросе.
Даже если и так. Все равно, те проблемы которые ты получаешь при отказе от использования NULL, не идут ни в какое сравнение с незначительным увеличением размера БД. Это сообщение отредактировал(а) Петрович - 7.10.2005, 13:05 -------------------- Все знать невозможно, но хочется |
||||
|
|||||
| bas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: 1 Всего: 2 |
В Oracle , например - Null не есть 0 или ''.
|
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 6 Всего: 55 |
Хм. А что, где-то Null соответствует 0 или '' ? Лично я такого не встречал. Null он и в африке Null. -------------------- Все знать невозможно, но хочется |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |