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

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

Вопрос по Query [D6, D7, MSSQL, MySQL]


ZeeM ©   (2005-12-15 04:08:00) 

Делаю я запрос на языке Sql и помещаю его в компонент Query. В результате запроса у меня ячека DBEdit1 принимает полученное в результате выполнения запроса значение.

Если мне необходимо в DBEdit2 вывести результат уже из другой таблицы, то необходимо создавать еще один компонент Query или несколько запросов можно связать с одним?

Если подобное осуществлять с помощью хранимых процедур, то также под каждую процедуру необходимо моздавать свой компонент?


Megabyte   (2005-12-19 14:03:00) [1]

Да ему вроде связывать ничего не надо, а просто нужно объединение запросов: UNION, UNION ALL?


msguns   (2005-12-19 09:43:00) [2]

>ZeeM   (19.12.05 02:13) [6]
>Извиняюсь, но что-то непонимаю

Понимать ту нечего, надо просто освоить синтаксис SQL, в частности связки JOIN


ZeeM   (2005-12-19 02:13:00) [3]

Извиняюсь, но что-то непонимаю. Выбор происходит разных полей разных таблиц - SELECT t1.p1, t1.p2,  t.p3, t3.p4  
но указано только FROM t1
Можно поподробней плиз.


ЮЮ   (2005-12-15 04:41:00) [4]

Запрос должен быть один, а вюбирать из нескольких таблиц:

SELECT t1.p1, t1.p2,  t.p3, t3.p4  
FROM
 t1
 JOIN T2 On t2.<поле связи с t1> =  t1.<поле связи с t2>
 ...
WHERE ...


ZeeM   (2005-12-15 04:35:00) [5]

Как раз в DBGrid все помещать нежелательно т.к. данных много, также из приложения надо еще работать с ними. Поэтому часть выноше в DBgrid часть в DBEdit.

А если в Query записать несколько запросов типо
SELECT p1,p2 FROM t1 WHERE p3=(SELECT .... и т.д. вложенность
SELECT p3,p4 FROM t2 WHERE ...
то компилятор ругаться начинает


ЮЮ   (2005-12-15 04:31:00) [6]

>Или надо париться над созданием временно таблицы которая бедет содержать результаты всех запросов?

Можно и в одном запросе выбирать данные из нескольких таблиц.
А результаты отображать не в DBEdit-ах, а в DBGrid-е, т.е один компонент, один источник данных и один набор данных - на большое количество полей


ZeeM   (2005-12-15 04:22:00) [7]

Мне одновременно в двух DBedit компонентах нужно показывать информацию из разных таблиц.

Так скажем это я привел для примера.
К примеру ФИО отображается в 3х DBedit - с этим пробем нет. Один Query и Darasourse.
Далее необходимо отобразить данные о персоне которые находятся в другой таблице.
Соответсвенно требуется составлять другой SQL запрос и соответсвенно создавать еще один компонет Query.

Просто если у меня таких запросов много, то для каждого нужно создавать свой компонент?

Или надо париться над созданием временно таблицы которая бедет содержать результаты всех запросов?


ЮЮ   (2005-12-15 04:16:00) [8]

>Если мне необходимо в DBEdit2 вывести результат уже из другой таблицы,

А почему бы не воспользоваться уже существующим DBEdit1?
Если компонент визуальный, то их нужно ровно столько, сколько нужно, почему же смущает такой подход к количеству невизуальных компонентов?


Наверх

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