Sacato Ens

Registrado: 06 Oct 2003Mensajes: 28
|
Publicado: Mar 11 Nov, 2003 10:13 am Asunto: Ayuda con BatchMove |
|
|
Hola,
estoy intentando restaurar copias de seguridad de una base de datos. Hasta ahora en la aplicación, se borraba la tabla que había que restaurar y se copiaba de nuevo utilizando "SELECT INTO". El problema es que con este método no se guardan los índices de los campos.
He leído que con BatchMove se puede copiar una tabla, guardando su estructura e índices. Lo he intentado utilizar pero no me ha salido demasiado bien. Tengo unas pocas dudas de cómo utilizarlo.
- ¿Qué es mejor utilizar, el BatchMove del objeto TTable o el BatchMove del componente TBatchMove?
- ¿Si lo que quiero es copiar una tabla, cómo hago para obtenerla mediante un TQuery, porque hasta ahora hacía un "SELECT" de la tabla, pero al pasar la TQuery al BatchMove->Source, me daba un error de Invalid Parameter?
Si alguien me pudiera ayudar con algún ejemplo o trozo de código me iría muy bien. Aquí les dejo el código que tenía yo, a ver si encuentran algún error:
sql = "SELECT * FROM [" Tabla "] IN '" + BaseDeDatosExterna + "'";
q->SQL->Clear();
q->SQL->Add( sql );
q->ExecSQL();
TTable *TablaImportada = new TTable(Application);
BatchMoveObject->Source = q;
BatchMoveObject->Destination = TablaImportada;
BatchMoveObject->Mode = batCopy;
BatchMoveObject->Execute();
/*q es un objeto TQuery y BatchMoveObject es un componente TBatchMove*/
Muchas gracias |
|