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

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

как сделать запрос? [D5, dBase, FoxPro]


diww ©   (2002-08-09 19:41:00) 

Как добавить из бд1 в бд2 (идентичную по структуре) только те записи, которых нет в бд1. Сложность заключется в том, что неизвестны названия полей, т.е. оперировать надо *


Desdechado   (2002-08-10 18:34:00) [1]

частный случай - если таблица1 по содержимому должна совпадать с таблицей2, то очищай табл1 и добавляй все записи из табл2 :)


sniknik   (2002-08-09 21:44:00) [2]

ADO всетаки предпочтительней т.к. возможностей больше, функции, вложенные запросы. А jet не сетевая модель, локальняя (даже родной формат базы mdb локальный не то что отдельный ISAM) а SQL потому, что так проще и в большинстве случаях быстрей. В bde даже название Local SQL за себя говорит.


Val   (2002-08-09 21:04:00) [3]

>DAO © (09.08.02 20:59)
Почему ADO потому что там тип Variant и не нужный тебе всякие AsString etc.
см. Help TField.Value:
property Value: Variant


DAO   (2002-08-09 20:59:00) [4]

Это же не сетевая модель так зачем вам SQL в данном случае?
IMHO, можно сделать так

for i:=0 to .... do
if ADOTable1.Fields[i].Value=ADOTable2.Fields[i].Value then
....

Почему ADO потому что там тип Variant и не нужный тебе всякие AsString etc.


sniknik   (2002-08-09 20:38:00) [5]

запрос можно динамически формировать, менять таблицы которые (откуда и куда) и поле по какому сравнение
запрос примерно такой
INSERT INTO CLIENTSSELECT * FROM CLIENTS1WHERE [ ИНДЕКСКЛИЕ] NOT IN (SELECT [ ИНДЕКСКЛИЕ] FROM CLIENTS) что менять видно.
но чем? вот вопрос. если BDE и локал SQL то так не получится.
этот я делал подключаясь к jet через ado.


diww   (2002-08-09 20:01:00) [6]

я тоже так думал, но все-таки надеялся :)))


Val   (2002-08-09 19:59:00) [7]

т.е. оперировать надо *?
придется сравнивать все поля, чудес же не бывает :(


diww   (2002-08-09 19:53:00) [8]

эта операция должна применяться ко многим файлам разной структуры, делать кучу разных запросов к разным базам не хочется (но видно придется :(( ). Может можно как-нибудь сделать как описал в задаче?


Val   (2002-08-09 19:48:00) [9]

и почему поля неизвестны?????


Val   (2002-08-09 19:47:00) [10]

нужен уникальный идентификатор записи


diww   (2002-08-09 19:42:00) [11]

т.е. добавить в бд1 из бд2 записи, которых нет в бд1.


Наверх

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