Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-09-2010
Arale Arale is offline
Registrado
 
Registrado: mar 2008
Posts: 5
Poder: 0
Arale Va por buen camino
Problema con TBatchMove al usar el modo batcopy

Hola a todos,

Primero una breve introducción: estoy trabajando con Windows XP y Delphi 5 contra una BD Firebird 1.5.

Lo que quiero hacer es copiar una tabla y todos sus registros a otra tabla dentro de dicha base de datos. (Es decir, tengo Tabla1 y quiero crear Tabla2 con la misma estructura que Tabla1 y los mismos registros)
Ya sé que una opción sería crear la tabla y hacer

Código SQL [-]
insert into Tabla1 select * from Tabla2

lo que pasa es que esto tengo que hacerlo para 30 tablas de mi BD, cada una con una estructura diferente, y antes tendría que crear las tablas destino.

Entonces navegando un poco por Internet, me encontré con el componente TBatchMove y me llevé una grata sorpresa! porque hace exactamente lo que quiero cuando se usa el modo batcopy: "Create the destination table based on the structure of the source table. If the destination already exists, the operation will delete it, and replace it with the new copy of the source"

Pero la alegría me duró poco, porque no soy capaz de hacer que funcione . Lo que hago es lo siguiente: Defino los dos componentes TTable Origen y Destino y un componente TBatchMove (BM_Traspaso), y el código que utilizo es:

Código Delphi [-]
Bm_Traspaso.Destination:=Destino;
BM_Traspaso.Source:=Origen;
BM_Traspaso.Mode := batCopy;
BM_Traspaso.Execute;

Al ejecutar dicho código me da el error de que "La tabla no existe". Cuando se supone que con el modo batCopy, precisamente al no existir la tabla, la crea... no sé si se me está pasando algo en la configuración del TBatchMove...
Cuando en el código anterior cambio la propiedad Mode, a batAppend, funciona perfectamente.

Muchas gracias de antemano!!

Última edición por Arale fecha: 10-09-2010 a las 11:04:39.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Modo diseño y modo ejecución buildero_d OOP 3 11-09-2005 06:45:00
¿Como usar ChangedTableName con un TBatchMove? superfer17 Conexión con bases de datos 0 26-01-2005 13:07:02
como usar una tabla de modo temporal ? maruenda Varios 2 04-12-2004 20:09:59
'table is busy' usando TBatchMove orfeo Conexión con bases de datos 2 17-06-2004 13:44:26
TBATCHMOVE con ADO o alguna solucion parecida Rigg SQL 0 14-04-2004 16:49:40


La franja horaria es GMT +2. Ahora son las 19:59:56.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi