Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как вытащить таблицу из калонки 
:(
    Опции темы
ziga
Дата 20.4.2009, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 25.4.2007

Репутация: нет
Всего: 1



Незнаю как правильно обозвать тему, так что не ругайте )
У меня есть такой запрос в TOraQuery

Код

SELECT --DISTINCT
       vc.id_contract AS id_contract,
       vc.num AS num,
       vc.date_start AS date_start,
       vc.date_expire AS date_expire,
       vc.date_sign AS date_sign,
       
       CAST(MULTISET(select h.last_name||' ' ||h.first_name||' '||h.middle_name
                       FROM human h, v_contract_client vc1       
                       WHERE vc1.id_client = h.id_client
                       AND vc1.id_contract = vc.id_contract
                       and vc1.id_contract_role = 1)AS human_tab) as Stud,
       CAST(MULTISET(select h.last_name||' ' ||h.first_name||' '||h.middle_name
                       FROM human h, v_contract_client vc1       
                       WHERE vc1.id_client = h.id_client
                       AND vc1.id_contract = vc.id_contract
                       and vc1.id_contract_role = 2)AS human_tab) as Fiz,                          
       CAST(MULTISET(SELECT f.name AS firm_name
                       FROM v_contract_client vc1, contract_role r, firm f       
                       WHERE vc1.id_client = f.id_client
                       AND vc1.id_contract =vc.id_contract
                       AND vc1.id_contract_role = r.id_contract_role ) AS human_tab) as Firm                
       
  FROM v_contract vc       
  WHERE vc.editable = 1


из запроса видно, что у меня есть 3 столбца Stud, Fiz, Firm каторые содержат в себе ещё по таблице, как мне в делфи пройтись по этим столбцам ну и собственно пройтись по строчкам таблиц каторые они содержатся?

думал может так прокатит но нет :(

Код

          with FieldByName('Stud').AsVariant do
          begin
            while not Eof do
            begin
              name := FieldByName('column_value').AsString;
            end;
          end;




Это сообщение отредактировал(а) ziga - 20.4.2009, 14:26
PM MAIL   Вверх
Kbl4AH
Дата 20.4.2009, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 6
Всего: 15



Цитата(ziga @  20.4.2009,  15:25 Найти цитируемый пост)
как мне в делфи пройтись по этим столбцам

по-моему никак, т.к. в результирующем наборе данные поля отсутствуют...
а что мешает сделать запросом и
Цитата(ziga @  20.4.2009,  15:25 Найти цитируемый пост)
пройтись по этим столбцам ну и собственно пройтись по строчкам таблиц каторые они содержатся

Код

select h.last_name, h.first_name, h.middle_name
                       FROM human h, v_contract_client vc1       
                       WHERE vc1.id_client = h.id_client
                       AND vc1.id_contract = vc.id_contract
                       and vc1.id_contract_role = 1



PM MAIL ICQ   Вверх
ziga
Дата 21.4.2009, 07:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 25.4.2007

Репутация: нет
Всего: 1



Отдельно работает медленее потому что надо на 5000 записей 5000 раз передавать в 3 запроса vc.id_contract пока запрос выполнится и прочитается 5000 раз пройдёт много времени, а такова вида запрос отрабатывает очень быстро и данные беруться быстро потому что уже всё есть в буфере.

помойму должно быть что то потому что в ParamByName есть типа Table каторый пренадлежит к классу TOraNestTable какраз то что надо. Так же я нашёл функцию  
Код
Function GetTable(FieldName : string) : TOraNestTable 
 только не могу разобраться как правильно ей пользоваться


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0635 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.