![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пара вопросов по InterBase [D6, IB6.x]
Ru © (2003-10-07 11:55:00)
Имеем две таблицы в одной хранятся записи подчиненные по отношению к другой. Использую BLOB поля.
Сохраняю мастер-запись.
Сохраняю деталь-запись.
Считываю:
сначала мастер-запись - без проблем.
затем фильтрация по мастер-записи деталь-записи.
Далее делаем следующее:
for i:=0 to DetTBL.RecordCount-1 do begin
SomeDest:=ReadZ();//допустим это процедура считывания данных из текущей записи
DecTBL.Next;
end;
Вместо считывания, например, двух записей считывается одна - последняя.
что я делают сильно не так?
Term (2003-10-07 12:49:00) [21]
> Select * from DetTBL
> where id=id
может так where id=:id
Ru (2003-10-07 12:38:00) [22]
TIBDataBase //TIBTransaction
TIBDataSet - не BLOB данный получаю без проблем
TIBQuery - использую для получения BLOB данных
Select * from DetTBL
where id=id
id - первичный ключ
Метаданные:
CREATE TABLE DetTBL(
id INTEGER NOT NULL PRIMARY KEY,
...
Term (2003-10-07 12:33:00) [23]
так ты и в парадоксе сильно заблуждался, и сюда старые ошибки перенёс......
для парадокса нужно было связь по ключевым полям с индексами организовать, а то что ты делал, это не правильно
а в TIBDataSet там тоже всё по другому...
или я как понял ты при работе с IB пользуешся TIBTable, поэтому и фильтруеш???
Ru (2003-10-07 12:24:00) [24]
>Term © (07.10.03 12:18) [7]
деталь таблицу фильтруем по мастер таблице - получаем набор данных. /пока работал с Paradox все так просто было/
Малиновский Владимир (2003-10-07 12:21:00) [25]
Наборы - то двунаправленные?
Term (2003-10-07 12:18:00) [26]
> "дворкую влендишным способом
это как ??????
Ru (2003-10-07 12:15:00) [27]
>Малиновский Владимир (07.10.03 12:10) [4]
это и так делаю.
>Term © (07.10.03 12:10) [5]
если быть точным, то связи как таковой нет. Есть отдельные две таблицы с которые я и "дворкую влендишным способом".
Term (2003-10-07 12:10:00) [28]
понятно что IBX, какие имено скорее всего не верно выполнена связь мастер детальный, так как фильтрация ваще не нужна для ентого
Малиновский Владимир (2003-10-07 12:10:00) [29]
Попробуй заменить
for i:=0 to DetTBL.RecordCount-1 do begin
SomeDest:=ReadZ();
DecTBL.Next;
end
на
DetTBL.First // Или что там ?
while not DetTBL.EOF do begin
SomeDest:=ReadZ();
DecTBL.Next;
end
В IBX RecordCount хранит число РЕАЛЬНО считанных записей.
Ru (2003-10-07 12:03:00) [30]
Компоненты доступа: IBX
Связь - ручками
vm (2003-10-07 12:00:00) [31]
Как выполнена связь Detail-Master, какие компонента доступа, как выполняется фильтрация, что внутри процедуры Readz?
Term (2003-10-07 11:57:00) [32]
какие компанеты используеш?