Форум: "Базы";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];
ВнизРедко изменяемые данные Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c