Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Редко изменяемые данные [D5, IB5.x]


AlexA ©   (2002-06-18 14:16:00) 

Уважаемые мастера и подмастерья доброго здравия.
Посоветуйте.
Ситуация такая.
Имеется справочник.(S)
Справочник изменяется редко.
Данные из справочника (а имено лишь одно поле) в другой форме отображаютсяв часто.
Какое поле отобразить зависить от четырех полей в другой таблице(T)
(можно считать что имеется связь 1:М), причем одно из полей таблицы Т может быть равно null.

Все это работает в локальной сети.

Я делаю следующее.
При запуске программы все данные из справочника S читаются в IBDateSet.
При изменениях в справочнике IBDateSet переоткрывается (случается редко).
Для таблицы Т создано вычисляемое поле. Значение этого поля вычисляется
метом Lookup компонента IBDateSet.
Сложности начинаются при поиске, когда одно из полей таблицы Т равно null.
(null передаю - запись не находится).
Может еще один IBDateSet добавить у которого поле равно null? А?

Верной ли дорогой иду товарищи.

Может подскажите другие решения.


Спасибо.


AlexA   (2002-06-27 16:37:00) [1]

не прокатывает
Но все равно спасибо


Lusha   (2002-06-25 15:33:00) [2]

Проверить TIBDataSet не имею возможности, но на TQuery вот такое прокатывает... :)
V := Query1.LookUp("Addr2;Company", VarArrayOf([NULL, "Ocean Paradise"]), "CustNo");


AlexA   (2002-06-25 14:22:00) [3]

> Lusha © (25.06.02 09:31)

Виноват. Использую TIBDataSet.
Можно примерчик следующего метода
IBDataSet1.LookUp(?)
Поиск по двум поля одно из которых null

Спасибо


Lusha   (2002-06-25 09:31:00) [4]

>AlexA © (24.06.02 13:46)
TDataSet.LookUp этого как я понял не может.
TDataSet и не должен этого мочь... TIBDataSet должен... Если не может, значит Вы наткнулись на некий глючок... =)
Совет: установите все необходимые апдейты и сходите на страничку Borland в раздел support (если мне не изменяет память)...


AlexA   (2002-06-24 13:46:00) [5]

>Lusha
спасибо за внимание.
>Так Вы же сами сказали, что такой записи нет

не понял. У записи одно из полей может равнятся NULL, но запись то есть. Приходиться искать запись на соответствие NULL.
TDataSet.LookUp этого как я понял не может.
А писать запросы и гонять их по сети , наверное не рационально.


Lusha   (2002-06-21 10:17:00) [6]

>AlexA © (21.06.02 10:06)
Так Вы же сами сказали, что такой записи нет, вот я и спрашиваю, а что должно быть в случае отсутствия таковой?
А чем Вас не устраивает TDataSet.LookUp?


AlexA   (2002-06-21 10:06:00) [7]

>Lusha
если поле null то из справочника также выбирается поле для которого поле равняется null (дело в том, что связь организуется по нескольким полям - одно из поле может равняться NULL ).
TDataSet.LookUp ПРИ ПОИСКЕ ПОЛЬЗУЮСЬ инвариантным МАССИВОМ.


Lusha   (2002-06-20 12:22:00) [8]

А какое значение должно вычисляться для записи с null полем? Разве при ненахождении записи метод TDataSet.LookUp не вызывает исключительной ситуации?


alexA   (2002-06-20 11:51:00) [9]

Помогите пжл.


Наверх

Титульная страница Поиск, карта сайта Написать письмо