Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Люди, как в дельфи работать сразу с разными базами данных (mdb, dbf) Есть таблица на FOX и база на Access Fox: Date1(date) Postavshik(short) Tovar(short) Access: ID(short) Rekvezit(CHARACTER(50)) Нужно создать таблицу dbf вида Date1(date) Postavshik(short) Rekvezit(CHARACTER(50)) Tovar(short) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2003, 13:25 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
А что, не получается создать? Или типы данных не знаешь? При чем тут разные БД - работаешь то с одной в конкретный момент времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2003, 14:38 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Можно завести , скажем, два TDatabase. Один будет подключаться к ФОКСу, а другой к Аксессу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2003, 16:52 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Я хотел сделать все одной выборкой и ЭТОТ вопрос меня волновал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2003, 19:14 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Мда, глупый вопрос конечно, но - как можно несколько dbf файлов слить в один mdb? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2003, 02:00 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Неужели, никто не знает, мне тоже очень нужно. Таблицы dbf записать в базу mdb. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2003, 11:13 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Чего никто не знает? Как взять данные из одной таблицы и поместить в другую? Это все должны знать. А кто не знает - тем не скажем :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2003, 11:15 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Открой Акцесс, и из него (его тулзами) прочитай данные DBF и запиши их в MDB. ПРИЧЕМ ТУТ ДЕЛФИ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2003, 11:16 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
to tygra>> :-((( А так хотелось. Я не знаю как это сделать to eNose>> и сделать это нужно именно из Delphi Я уже не первый день парюсь над этим же заданием, было бы опыта побольше я бы и сам сделал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2003, 11:32 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Так в чЁм проблема?? Данные умеешь извлекать из таблицы базы?? Данные умеешь вставлять в таблицу базы?? Извлекаешь данные из двух таблиц и, объединяя, пишешь в третью. Например, настраиваешь, скажем, три альяса (по альясу на каждую ДБ). БерЁшь три TTable(TQuery), каждую настраиваешь на нужный альяс. А потом из TTable-источников берЁшь данные и пишешь в TTable-адресат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2003, 14:19 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
2 Small. Прости за вопрос, может показаться тебе глупым. Как можно в одном запросе взять данные из таблицы dbf и добавить/изменить в mdb? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2003, 16:06 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Забыл уточнить, необходимо это сделать при помощи TQuery в Делфи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2003, 16:07 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
BDE может выполнять гетерогенные запросы. посмотри например здесь: http://www.delphiworld.narod.ru/base/bde_architecture2.html или поищи в гугле на слова "BDE, гетерогенные, запросы". Просто этим по всей видимости никто не пользуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2003, 20:45 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Слушайте, а я ведь как-то делал? :) В запросе перекачивал данные из DBF на SQLServer, только у меня проблемы с кодировками были. :( Так и не настроил по-нормальному. Пришлось циклом париться. Правда, все равно оказалось, что данные на ввод английских букв проверять надо (ну там знаете, 'Н' и 'H'...). И все же интересно, у меня, например, в том же Database Desktоpe карябалы кажутся. :( А запросик я конструктором делал - выбирал там две таблицы с разными алиасами. Тут правда про Acces речь идет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 08:41 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Ученик писал:2 Small. Прости за вопрос, может показаться тебе глупым. Как можно в одном запросе взять данные из таблицы dbf и добавить/изменить в mdb? Одним - не знаю. Поскольку LocalSQL очень урезаный, то я не заморачиватся со всякими там гетерогенками. Я просто делал запрос к одной базе, а потом результат в цикле пихал в другую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 10:10 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
2 Small Я поступаю аналогично и при этом обработка каких-то 10000 записей идет ну очень не быстро. Просто я в цикле перебирал записи обновляемой таблицы, осуществлял поиск по связующим реквизитам, а затем производил обновление. код приведен ниже Ostatki.Open; Ostatki.First; While not(Ostatki.Eof) do begin Dif.Close; Dif.Parameters.ParamValues['vsr_kod']:=Ostatki.FieldbyName ('vsr_code').AsString; Dif.Parameters.ParamValues['pro_code']:=Ostatki.FieldbyName('pro_code').AsString; Mars_1C.Open; Mars_1C.RecordCount=0 then begin if (Ostatki.FieldByName('current_qnt').AsInteger>0) then begin Ostatki.Edit; Ostatki.FieldByName('current_qnt').AsInteger:=0; Ostatki.Post; end; end; Ostatki.Next; end; // Ostatki - таблица в базе MDB, Dif -запрос к таблице DBF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 11:59 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
В код закралась очепятка. Mars_1C= Dif ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 12:01 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
2Ученик Обновлением не занимался, только перегонял из одной базы в другую - просто конвертировал Действительно - этот процесс довольно длительный PS: Заметил, что используешь кажется TTable. ИМХО, через sql-запросы работало бы быстрее. PPS: А зачем такая надобность из ДБФ перегонять в МДБ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 12:18 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Так я перегоняю данные из DBF в MDB Код: plaintext Я так понимаю - самое главное это там где dBASE III ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 12:58 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
2SmaLL Если я правильно понял, ты предлагаешь первоначально SQL- запросом выбрать содержимое обновляемой таблтицы и Query.First; while not(Query.Eof) do begin // Передавать значения реквизитов, получать результат запроса и обновлять? // Query.Next; end; На счет необходимости... Э-х. Надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 13:05 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
2 Dmitri Krizhanovski. Если я правильно понял, ADOCommand ты подключаешь к MDB базе? А для таблиц DBF ты просто указываешь их месторасположение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 13:13 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
To Ученик Ученик писал:...указываешь их месторасположение? Да. На всякий случай, когда меня интересовал этот вопрос я искал фразы типа SELECT INTO, INSERT INTO, FROM EXTERNAL DATABASES в разделах касаемых Access и ADO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 13:20 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
2 Dmitri Krizhanovski. Спасибо за ADOCommand. Появилась следующая ошибка. Я создаю временную таблицу : ADOCommand.CommandText:='create table Temp (code text,name text,ean text)'; ADOCommand.Execute; Затем добавляю данные : ADOCommand.CommandText:='insert into Temp select * from exptov in "С:\Path" "dBase III;"'; Структура таблиц один в один. При ADOCommand.Execute; "Не совпадает число значений запроса и число результирующих полей" . Повторяю - структура dbf и временной таблицы идентична. Прикол в том, что я несколькими строками выше произвожу аналогичные действия с другой временной таблицей - все прекрасно работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 17:53 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Помнится, кто-то когда-то отвечал на такой вопрос. Хоть убей, не могу найти Там использовался синтаксис select * from table1, [что-то тут было].table2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 21:54 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
2 Dmitri Krizhanovski. Все вопрос решен. Оказывается я перед этим создал таблицу с этим же наименованием, только другой структуры. Надо будет поискать, где-то в форуме видел удаление таблицы из MDB. Если кто помнит, подскажите где. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 08:18 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Нашел. Просьба снимается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 09:07 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуйста разобраться со следующей проблемой : Работаю с двумя таблицами Table1 и Table2, связываюсь при помощи полей Field1 и Field2. Query1.Close; Queri1.SQL.Clear; // Получаю содержимое Table1, понимаю что можно было Query1.SQL.Add('select * from Table1');// работать непосредственно с Table,но Query1.Open;//сказали что с Query работает быстрее if Query1.RecordCount>0 then begin Query1.First; while not (Query1.Eof) do begin Query2.Close; // ** Query2.ParamByName('kod1').AsString:=Query1.FieldByName('Fied1').AsString; Query2.ParamByName('kod2').AsString:=Query1.FieldByName('Fied2').AsString; Query2.Open; case Query2.RecordCount of 0: ShowMessage('Запись отсутсвует'); 1: begin UpdQuery.Close; UpdQuery.ParamByName('New_Kod'):=Query2.FieldByName('Fied1').AsString; UpdQuery.ExecSQL; end; 2..10: begin Query2.First; UpdQuery.Close;//обновляет поле Field1 UpdQuery.ParamByName('New_Kod'):=Query2.FieldByName('Fied1').AsString; UpdQuery.ExecSQL; repeat Query2.Next; InsQuery.Close;//Добавляет в Table1 записи с Table2.Field1 и Table2.Field2 InsQuery.ParamByName('Field1').AsString=Query2.FieldByName ('Fied1').AsString; InsQuery.ParamByName('Field2').AsString=Query2.FieldByName ('Fied2').AsString; InsQuery.ExecSQL; until Query2.Eof; end; end; end; Понимаю, что мой перебор записей таблицы выглядит ... плохо, поэтому помогите реализовать этот код более оптимально //** Query2 - запрос : Select Table2.* from Table2 where Table2.Field1=:Field1 and Table2.Field2=:Field2; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 16:05 |
|
||
|
Использование баз разных типов
|
|||
|---|---|---|---|
|
#18+
Не надо задавать разные вопросы в одном топике. Заведите новый и опишите проблему по схеме: 1. Используемая база 2. Есть такие таблицы. Пример заполнения 3. Нужно сделать то-то и то-то. Если в результате должна получится выборка - пример желаемой выборки из таблиц, описанных в п.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2003, 10:49 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2116128]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 215ms |
| total: | 368ms |

| 0 / 0 |
