Es posible copiar todos los campos de un registro ?

Es posible copiar todos los campos de un registro ?

Postby BenD » 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.
BenD
 
Posts: 29
Joined: Fri Jan 18, 2008 3:48 pm

Postby Armando » 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
User avatar
Armando
 
Posts: 3239
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Postby BenD » 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.....
BenD
 
Posts: 29
Joined: Fri Jan 18, 2008 3:48 pm

Postby Armando » Sun Apr 20, 2008 1: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
User avatar
Armando
 
Posts: 3239
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Postby antolin » Sun Apr 20, 2008 8: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
antolin
 
Posts: 498
Joined: Thu May 10, 2007 8:30 pm
Location: Sevilla

Postby pymsoft » Mon Apr 21, 2008 8:47 am

BenD:

Prueba esto:

Code: Select all  Expand view  RUN
...
..
   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
User avatar
pymsoft
 
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia

Postby BenD » Wed Apr 23, 2008 8:22 pm

Tomé esto del manual de xharbour
Code: Select all  Expand view  RUN
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 ?
BenD
 
Posts: 29
Joined: Fri Jan 18, 2008 3:48 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: SantaCroya and 43 guests