Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.09.2010, 15:33
VINCENT VINCENT вне форума
Прохожий
 
Регистрация: 03.09.2010
Сообщения: 16
Репутация: 12
По умолчанию запрос к разным таблицам

Подскажите кто уже это проходил.
Можно ли выполнить запрос к таблицам разных бд.
есть база данных VFXP (*.dbf) и временна база данных на PARADOX (*.db)нужно обратится запросом к полям этих таблиц и получить разность.

запрос примерно такой
ADOQuery1.SQL.Add('select j from base.db,base.dbf where j<>keyforbank and datepay='''+dateform+'''')
Ответить с цитированием
  #2  
Старый 14.09.2010, 16:15
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

да, такие вещи выполнимы.
запрос примерно такой:
Код:
ADOQuery1.SQL.Text:='select j from base.db b1,base.dbf b2 where b1.j<>keyforbank and b2.datepay='''+dateform+''' and b1.key=b2.key'
где b1.key=b2.key будет связующим звеном по какому-то уникальному полю между двумя твоими таблицами
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #3  
Старый 17.09.2010, 09:22
VINCENT VINCENT вне форума
Прохожий
 
Регистрация: 03.09.2010
Сообщения: 16
Репутация: 12
По умолчанию

Цитата:
Сообщение от Yurk@
запрос примерно такой:
Код:
ADOQuery1.SQL.Text:='select j from base.db b1,base.dbf b2 where b1.j<>keyforbank and b2.datepay='''+dateform+''' and b1.key=b2.key'
а если к одной базе идет обращение через ADOconnection a к другой через BDE как вы сабираетесь это таким образом выразить? если можно то хотелось бы пример посмотреть.
Ответить с цитированием
  #4  
Старый 17.09.2010, 09:34
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

VINCENT, если через разные драйверы обращаетесь к базам - то нельзя одновременно.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #5  
Старый 17.09.2010, 10:31
VINCENT VINCENT вне форума
Прохожий
 
Регистрация: 03.09.2010
Сообщения: 16
Репутация: 12
По умолчанию

В том то и вопрос как сравнить таблицы используя разное подключение к ним.
Ответить с цитированием
  #6  
Старый 17.09.2010, 11:52
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Создать 2 временные таблицы (подключенных через 1 (один) драйвер), по очереди залить из них данные из имеющихся, потом сделать запрос.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #7  
Старый 17.09.2010, 14:17
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Цитата:
Сообщение от VINCENT
...идет обращение через ADOconnection a к другой через BDE...
Во первых, ADOConnection - это компонент, где ADO - это интерфейс программирования приложений для доступа к данным, а BDE - это технология доступа к данным, имеющая набор драйверов баз данных и позваляющая единообразный доступ к ним. То есть, предполагается возможность настроить подключения к обоим базам данных через один механизм, то есть через BDE. Это так для справки к понимаю терминов.
Цитата:
Сообщение от VINCENT
В том то и вопрос как сравнить таблицы используя разное подключение к ним.
А в чем проблема сравнить две таблицы на уровне дельфей, если интересует именно разность таблиц, то открываем два датасета, по одному к каждой базе, и сравниваем вручную, а результат выводим либо в программе, либо пишем в одну из баз.
Ответить с цитированием
  #8  
Старый 14.09.2010, 22:33
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Курите поиск по "гетерогенные запросы".
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:19.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025