Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.18;
Скачать: CL | DM;

Вниз

Редко изменяемые данные   Найти похожие ветки 

 
AlexA ©   (2002-06-18 14:16) [0]

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

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

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

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

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


Спасибо.


 
alexA ©   (2002-06-20 11:51) [1]

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


 
Lusha ©   (2002-06-20 12:22) [2]

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


 
AlexA ©   (2002-06-21 10:06) [3]

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


 
Lusha ©   (2002-06-21 10:17) [4]

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


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

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

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


 
Lusha ©   (2002-06-25 09:31) [6]

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



 
AlexA ©   (2002-06-25 14:22) [7]

> Lusha © (25.06.02 09:31)

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

Спасибо


 
Lusha ©   (2002-06-25 15:33) [8]

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


 
AlexA ©   (2002-06-27 16:37) [9]

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



Страницы: 1 вся ветка

Текущий архив: 2002.07.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
3-57972
bobr12
2002-06-26 13:02
2002.07.18
InterBase = ничего не понимаю


6-58243
Crypter
2002-05-09 11:15
2002.07.18
Простой вопрос по сокетам


1-58199
Rock
2002-07-06 00:32
2002.07.18
TImage


1-58094
Alex
2002-07-08 16:01
2002.07.18
Active:=True;


1-58041
Sokoloff
2002-07-04 17:19
2002.07.18
Code completion