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

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

TADOQuery [D6, dBase, FoxPro]


АлеКс ©   (2003-09-09 05:43:00) 

Господа! Научите плиз.

Выполняется запрос в TADOQuery, как по этим данным сделать еще один запрос.
Не хочется перебирать каждую запись в цикле.


АлеКс   (2003-09-09 09:01:00) [1]

А может попробовать через ClentDataSet?


АлеКс   (2003-09-09 08:51:00) [2]

Спасибо большое но мне пока приходится с Access раьотать (судьба).
Поэтому такие вопросы и возникабт.
А как замечательно было бы если можно вставить в качестве параметра ссылку на RecordSet ведь можно ссылаться на внешнюю базу данных в операторе IN.


Hooch   (2003-09-09 08:48:00) [3]

переходи на MS SQL SERVER, там и в запросе селект из селекта можно делать, и RecordSet пихать во временную таблицу и т.д. и т.п. (не на правах рекламы !)
:-))


АлеКс   (2003-09-09 08:41:00) [4]

Это компонента BDE? нехотелось бы его за собой таскать.


Radionov Alexey   (2003-09-09 08:34:00) [5]

>АлеКс (09.09.03 08:18)
Еще, как вариант:
Использовать простой TQuery, назначив ему соответствующий DataSource.


АлеКс   (2003-09-09 08:33:00) [6]

Но всетаки это наборы данных

ADODataSet1.RecordSet

Может есть компоненты (совсем необязательно ADO) в которые можно передать RecordSet и строить по нему запрос.


Radionov Alexey   (2003-09-09 08:29:00) [7]

>АлеКс (09.09.03 08:18)
Если в качестве сервера используется SQL-сервер, то можно попробовать использовать представления (view) и работать с ними.


Hooch   (2003-09-09 08:27:00) [8]

временная таблица на сервере и RecordSet это немного разные веши.


АлеКс   (2003-09-09 08:18:00) [9]

Вот например ребята с Visual FoxPro работают так там в результате запроса создается временная таблица в памяти по которой можно опять делать запрос.
А вариант Radionov Alexey © известный но врезультате первого запроса у меня получится 200.000 записей и по этим записям придется делать около 7.000 запросов. Поэтому делать как вы предложили мне не сруки.


Hooch   (2003-09-09 08:12:00) [10]

:-) так не получится, ftDataSet - это тип поля набора данных.
В качестве поля в набор данных можно включить другой набор данных. Тип параметров и тип полей это одно и то же множество, но если в параметрах есть тип ftDataSet то это ещё ни о чем не говорит. Выборку из результата запроса вроди как можно было через BDE сделать


Radionov Alexey   (2003-09-09 08:09:00) [11]

>АлеКс (09.09.03 05:43)
Запрос по запросу?
Не знаю, поддерживается ли это у тебя, но я в таких случаях использую конструкцию:
select <fields> where <conditions> from (select <fields> where <conditions> from <tables>)

Либо в where добавить нужные условия :)


АлеКс   (2003-09-09 08:01:00) [12]

Ну помоему тут все ясно.
В ADOQuery в запросе можно задавать параметры.
Есть тип параметра ftDataSet - DataSet field
может както через него можно вставить

SELECT * FROM :Param;


Hooch   (2003-09-09 07:54:00) [13]

ВЫ бы пример привели если можно


АлеКс   (2003-09-09 07:46:00) [14]

Может есть альтернатива. Или придется сохранять в файл и потом уже с ним работать.


Hooch   (2003-09-09 07:42:00) [15]

не получится


АлеКс   (2003-09-09 07:37:00) [16]

Вот именно (хорошо когда тебя понимают).


Hooch   (2003-09-09 07:31:00) [17]

SELECT из RecordSet"а ? :-)


АлеКс   (2003-09-09 07:30:00) [18]

Да нет Filter совсем не то.
После выполнения ADOQuery образуется RecordSet. С ним можно работать как с обыкновенной таблицей.
Вот этот набор данных по нему хотелось бы построить запрос и выполнить.


Hooch   (2003-09-09 07:23:00) [19]

смотря какой запрос :-) можно Filter попробовать


АлеКс   (2003-09-09 07:11:00) [20]

А всетаки!


Наверх

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