Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DBGridEH.DataSource.DataSet, 2-х разных запросов и 1 DataSet 
V
    Опции темы
Гульмира
  Дата 24.12.2010, 06:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте. У меня такая проблема. Есть форма в которой отображаются данные из таблицы Soob и имеет свой DBGridEH-->DataSource-->DataSet-->QuerySoob.
Мне в эту форму надо добавить еще записи только с другой таблицы с помощью запроса QueryTlg.

Ниже представлен код, но он отображает только результат процедуры FoundTlg;
Код

procedure TFmPln.GetSoobTime;
begin
 with DM1.QuerySoob do begin
  if Active then Close;
    SQL.Clear;
    SQL.Add('exec sp_Soob;20 :date');
    Parameters.Refresh;
    Parameters[0].Value:=DateEdit1.Date;
    Open;
end;
end;

procedure TFmPln.FoundTlg;
begin
 DBGridEH3.DataSource.DataSet:=DM1.QueryTlg; //это добавила чтобы изменить  DataSet 
 with DM1.QueryTlg do begin
  if Active then Close;
    SQL.Clear;
    SQL.Add('exec sp_Tlg;15 :date');
    Parameters.Refresh;
    Parameters[0].Value:=DateEdit1.Date;
    Open;
   end;
end;

procedure TFmPln.TabSheet2Show(Sender: TObject);
begin
 GetSoobTime;
//Добавила дополнительно
FoundTlg;
 end;


Помогите что я не правильно делаю, и как результат разных запросов отобразить в одной таблице если DataSet один?

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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Цитата(Гульмира @  24.12.2010,  09:57 Найти цитируемый пост)
Мне в эту форму надо добавить 

в этот же список?

попробуй написать запрос используя union



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Гульмира
Дата 24.12.2010, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Frees @ 24.12.2010,  07:49)
Цитата(Гульмира @  24.12.2010,  09:57 Найти цитируемый пост)
Мне в эту форму надо добавить 

в этот же список?

попробуй написать запрос используя union

Хотела использовать union, но в БД таблицы не идентичные, у них разные поля. 
1 таблица содержит 10 полей, 2 таблица -8, из них по названиям одинаковых три: DATA, NAME, TIP. 
PM MAIL   Вверх
Frees
Дата 24.12.2010, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



но как то же они должны быть в 1  списке значет что то общее есть


Цитата(Гульмира @  24.12.2010,  11:02 Найти цитируемый пост)
1 таблица содержит 10 полей, 2 таблица -8, из них по названиям одинаковых три: DATA, NAME, TIP. 


таблицу с большим числом полей сделай первой 
а вместо недостающих во втором запросе возвращай NULL (или что угодно другое)

Должны совпасть типы полей а не имена

пример


Код

SELECT
 DATA, NAME, TIP
FROM sOOB
UNION
SELECT 
 DATA, NAME2, NULL
FROM SP_tLG




--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Гульмира
Дата 24.12.2010, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо Вам Frees! smile 
Хотя и получился у меня загроможденный запрос,  зато результат есть!

Можно ли оптимизировать код, если используешь все поля первой таблицы, и только два поля из второй таблицы?
Код

SELECT
 DATA, NAME, TIP, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
FROM sOOB
UNION
SELECT 
 DATA, NAME2, NULL,NULL,NULL,NULL,NULL,NULL.......
FROM SP_tLG



PM MAIL   Вверх
Frees
Дата 24.12.2010, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Цитата(Гульмира @  24.12.2010,  11:53 Найти цитируемый пост)
1, 2, 3, 4, 5, 6, 7, 8, 9, 10

это поля такие? 


Цитата(Гульмира @  24.12.2010,  11:53 Найти цитируемый пост)
Можно ли оптимизировать код

насколько я знаю нельзя, количество полей в запросах должно совпадать

для токого запроса можно сделать view (зависит от СУБД) и в delphi использовать его.. будет аккуратнее...


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Гульмира
Дата 24.12.2010, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Все понятно.
насчет 1,2,3,4....   - да это поля таблицы, просто не стала по названиям перечислять.

Спасибо еще раз, Frees!!!


 smile 

Это сообщение отредактировал(а) Гульмира - 24.12.2010, 10:38
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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