![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как сделать запрос? [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.