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

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

слить данные из 2 таблиц [D6, dBase, FoxPro]


Alex_xxx ©   (2004-05-28 15:00:00) 

Дано:
Таблица продаж (ТП): код товара, количество проданного товара
Таблица товаров (ТТ): код товара, начальное количество.
Они лежат в разных каталогах :-(
В таблица продаж постоянно добавляются записи, поэтому ее нельзя блокировать постоянно :-(
Идея: Брать из ТП и ТТ данные по коду, сливать их во временных XML файл (TADOQuery.SaveToFile(...._) ) и отключаться. Дальнейшая работа с этим XML.
Вопрос: как получить данные из таблиц из разных КАТАЛОГОВ?
Когда они в одном каталоге - проблем нет.

ADO, dBASE, D6


sniknik   (2004-05-28 17:23:00) [1]

вернее не так, а так

MyBD.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\;Extended Properties=dBase IV;Persist Security Info=False';

q1.SQL.Add('select a.cardarticu,a.quantity,b.addnum1');
q1.SQL.Add('from c:\BD1\TableProd a, c:\BD2\TableTovar b');
dm1.q1.SQL.Add('where a.[date]=? and a.KodTovara=b.KodTovara');
q1.Parameters.CreateParameter('dt', ftDateTime, pdInput, 0, StrToDate('20.04.2004'))
q1.Open;


и в квери ParamCheck поставь фалсе, а то на путь ругатся будет (там ':' есть)


sniknik   (2004-05-28 16:56:00) [2]

MyBD.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\;Extended Properties=dBase IV;Persist Security Info=False';

q1.SQL.Add('select a.cardarticu,a.quantity,b.addnum1');
q1.SQL.Add('from c:\BD1\TableProd a, c:\BD2\TableTovar b');
 dm1.q1.SQL.Add('where a.[date]=:dt and a.KodTovara=b.KodTovara');
q1.Parameters.Items[0].Value:=StrToDate('20.04.2004');
q1.Open;


Alex_xxx   (2004-05-28 16:38:00) [3]

При указании полного пути ко второй таблице в запросе ругается на то, что ядро БД не может найти объект :-(
Строка подключения:
  MyBD.ConnectionString:='Provider=MSDASQL.1;Persist Security Info=False;'+
  'Extended Properties="DSN=Файлы dBASE;DBQ='+PBD+';DefaultDir='+
  PBD+';DriverId=533;MaxBufferSize=2048;PageTimeout=5;"';
в переменной PBD храниться путь к одной из таблиц.
PBD:='c:\BD1'

Запрос:
q1.SQL.Add('select a.cardarticu,a.quantity,b.addnum1');
q1.SQL.Add('from TableProd a,"c:\BD2\TableTovar.DBF" b');
  dm1.q1.SQL.Add('where a."date"=:dt and a.KodTovara=b.KodTovara');
q1.Parameters.Items[0].Value:=StrToDate('20.04.2004');
q1.Open;


sniknik   (2004-05-28 15:20:00) [4]

запрос в нем указывать таблицы вместе с каталогом, и сливать во временные не надо блокироваться постоянно не будет.


Наверх

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