FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Es posible copiar todos los campos de un registro ?
Posts: 29
Joined: Fri Jan 18, 2008 03:48 PM
Es posible copiar todos los campos de un registro ?
Posted: Sun Apr 20, 2008 12:02 AM

Hola amigos

Tengo unas bases de datos que tienen cada una entre 70 y 80 campos, lo que hace un poco tediosa las labores de crear archivos temporales para ciertos fines.

Hay alguna instruccion que me copie todos los campos del registro actual a otra base de datos (que obviamente tiene la misma estructura) o cual es la forma de hacerlo para no tener que usar las 60 asignaciones cada vez

Gracias.

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Es posible copiar todos los campos de un registro ?
Posted: Sun Apr 20, 2008 12:27 AM

BenD:

Dale una revisada a la sentencia APPEND FROM creo que te va a servir

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 29
Joined: Fri Jan 18, 2008 03:48 PM
Es posible copiar todos los campos de un registro ?
Posted: Sun Apr 20, 2008 12:39 AM

Gracias por tu interes Armando, pero para poder utilizar el APPEND FROM me tocaría cerrar las bases de datos y no es una opcion viable para mi en este momento, debido a que son utilizadas por otros modulos del sistema.

Los registros que quiero copiar al archivo temporal, provienen de una consulta SQL ADS.

Oppps...que pena, no había visto el modificador CONNECTION....parece que esa es la solucion a mi problema

Gracias por tu ayuda.....

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Es posible copiar todos los campos de un registro ?
Posted: Sun Apr 20, 2008 01:03 AM
BenD:

Tomado del manual de clipper

En un entorno de red, APPEND FROM no requiere que el fichero actual de
base de datos se utilice en modo exclusivo o se bloquee con FLOCK(). A
medida que se añaden registros, CA-Clipper regula automáticamente los
conflictos de utilización de los nuevos registros.



Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Es posible copiar todos los campos de un registro ?
Posted: Sun Apr 20, 2008 08:25 PM

Si lo que quieres es copiar todos los registros a una nueva base de datos temporal, simplemente COPY FILE o similar. Si lo quieres es copiar algunos registros, revisa la clase DATABASE puedes intentar hacer algo parecido al método Modified()

Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 383
Joined: Tue Oct 11, 2005 01:01 PM
Es posible copiar todos los campos de un registro ?
Posted: Mon Apr 21, 2008 08:47 AM
BenD:

Prueba esto:

...
..
   cDBF := "midbftemporal.dbf"
   aStruct := c_movim->( dbStruct() )
   //AADD( aStruct, { "COD_TAG", "C", 10, 0  } )

   DbCreate( cDBF, aStruct )

..
..

cdf1->( dbAppend() )
FOR i:=1 to fcount()
  cdf1->( fieldput( i,  cdf2->fieldget(i) ) ) )
NEXT



...
..


Lo escribi al vuelo, espero que te funcione.

Saludos
Pedro Gonzalez
Posts: 29
Joined: Fri Jan 18, 2008 03:48 PM
Es posible copiar todos los campos de un registro ?
Posted: Wed Apr 23, 2008 08:22 PM
Tomé esto del manual de xharbour
CONNECTION <nConnection>
This option specifies a numeric server connection handle. It is returned by a server connection function which establishes a connection to a database server, such as SR_AddConnection() of the xHarbour Builder SQLRDD. When CONNECTION is used, the APPEND FROM command appends data from a database on the server.


Mi pregunta es cual es la sintaxis correcta para su uso..
Por ejemplo tengo:
1. Motor de base de datos: ADS v8.1
2. El resultado de una consulta sql en un alias : aliSQL
3. Un archivo con la estructura correcta para recibir los datos de la consulta: archi01

Como sería la sintaxis del APPEND FROM ?

Continue the discussion