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

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

Скопировать таблицу [D7, ACCESS]


RomanRom2 ©   (2003-07-15 16:26:00) 

есть таблица с данными.
есть другая таблица, пустая, абсолютно такая же по структуре как первая.
требуется скопировать из старой в новую все те строки с данными, where status=1.

можно ли замутить какой-нить хитрый совмещенный select-insert, так что бы заседекченное инсертилось? или так и придется из датасета бегать курсором и строить строку insert для новой таблицы?


RomanRom2   (2003-07-15 17:49:00) [1]

да, похоже что все так, только точку с запятой после access не надо:
from Table2 IN "hostsend.mdb" "ACCESS"

только все равно ругеатся - "текущий проводник не поддерживает возврат нескольких наборов записей в результате одной операции"


RomanRom2   (2003-07-15 17:38:00) [2]

>from Table2 IN "C:\DBASE\DATA\SALES" "dBASE IV;"

ты указал тут путь. в моем случае файлец с базой лежит в том же каталоге что и прога. т.е.:

from Table2 IN "hostsend.mdb" "ACCESS;"
???

в этом случае ругается "невозможно найти установленный ISAM"


sniknik   (2003-07-15 17:23:00) [3]

> или можно все таки можно это провернуть с одним датасетом на две разные базы?
> dBASE IV это че, ACCESS?
это другая база, ты не не говорил что должен быть ACCESS - ACCESS.
с ним проще сам догадаешся, даже без чтения литературы.


RomanRom2   (2003-07-15 17:06:00) [4]

dBASE IV это че, ACCESS?


sniknik   (2003-07-15 16:53:00) [5]

> или можно все таки можно это провернуть с одним датасетом на две разные базы?

insert into Table1 (Field1, Field2, ...)
select Field1, Field2, ...
from Table2 IN "C:\DBASE\DATA\SALES" "dBASE IV;"
where status=1


stone   (2003-07-15 16:52:00) [6]

Если Access поддерживает OPENDATASOURCE, то можно


MsGuns   (2003-07-15 16:52:00) [7]

Если таблицы из разных БД, то попробуй БДЕ-шный TBatchMove


Johnmen   (2003-07-15 16:51:00) [8]

Можно. Используя BDE.


RomanRom2   (2003-07-15 16:40:00) [9]

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


stone   (2003-07-15 16:27:00) [10]

insert into Table1(Field1, Field2, ...)
select Field1, Field2, ... from Table2 where status=1


Наверх

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