PDA

Просмотр полной версии : Последовательные Sql запросы


AleksP
27.04.2008, 00:58
На форме есть компонент DBGrid1. Источником данных DBGrid1 является компонент Query1 (ADOQuery1).
К источнику данных DBGrid1 применяются последовательно несколько SQL запросов.
Как сделать так, чтобы каждый последующий SQL запрос применялся к результату предыдущего?

Dr.KoD
27.04.2008, 01:08
неплохо бы взглянуть на код? какие запросы?

presidentua
27.04.2008, 01:34
Если это у тебя Селект запросы, то никак. Возьми создай один сложный запрос который заменит 3 простых.

AleksP
27.04.2008, 11:19
К источнику данных DBGrid1 последовательно применяются несколько SQL запросов следующего вида:

if (DBGrid1->DataSource->DataSet == DataModule2->ADOQuery1)
{
DataModule2->ADOQuery1->Active = false;
DataModule2->ADOQuery1->SQL->Clear();
DataModule2->ADOQuery1->SQL->Add("SELECT * FROM TableName WHERE ... ORDER BY FieldName");
DataModule2->ADOQuery1->Open();
}

Команда SQL->Clear() обнуляет результат предыдущего запроса. Хотелось бы после каждого запроса сделать что-то вроде (TQuery *)DBGrid1->DataSource->DataSet и работать уже с этой конструкцией, если это возможно.

To presidentua: А как можно автоматически выполнить конкатенацию SQL запросов?

presidentua
27.04.2008, 12:09
To presidentua: А как можно автоматически выполнить конкатенацию SQL запросов?
Напиши сюда конкретные СКЛ-запросы попробуем помочь. Сложные запросы составлятся с такимими команадми СКЛ как JOIN и UNION и некоторые другие. Автоманическую обединения запросов не плучится сдалать. В каждом конкретном случае нужен свой подход.