Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 21-09-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 947
Poder: 25
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Creo que la sugerencia del amigo Roman, es acertada.

La propiedad Value de un TFields es de tipo Variant, con lo cual el usar un vector de tipo Variant no tiene justificacion.

Ademas en cada ciclo de lectura de sql_Origen, estas dimensionando el vector, creo que eso se debe hacer antes de iniciar el ciclo de lectura una sola vez.

Alternativa 1:
Código Delphi [-]
procedure TForm1.CopiarRegistro(sql_Origen :TSimpleDataSet; sql_Destino :TSimpleDataSet);
var
  larr_Valores : Variant;
  lint_Cursor : Integer;
  x            : Integer;
begin
  
  sql_Destino.Open;
  sql_Origen.Open;
  larr_Valores := VarArrayCreate([0,sql_Origen.Fieldcount-  1],VarVariant);

 while(not sql_Origen.Eof) do
  begin
      for lint_Cursor := 0 to (sql_Origen.Fieldcount-1) do
      larr_Valores[lint_Cursor] := sql_Origen.fields[lint_Cursor].Value ;
      sql_Destino.Append ;

    for lint_Cursor := 0 to (sql_Destino.Fieldcount-1) do
      sql_Destino.fields[lint_Cursor].Value := larr_Valores[lint_cursor] ;
      sql_Destino.Post;

      sql_Origen.Next;
      sql_Destino.ApplyUpdates(-1);
   
   end;
 end;

Alternativa 2:
Código Delphi [-]
procedure TForm1.CopiarRegistro(sql_Origen :TSimpleDataSet; sql_Destino :TSimpleDataSet);
var
  lint_Cursor : Integer;
  x            : Integer;
begin
  
  sql_Destino.Open;
  sql_Origen.Open;
 while(not sql_Origen.Eof) do
  begin
        sql_Destino.Append ;

        for lint_Cursor := 0 to (sql_Destino.Fieldcount-1) do
             sql_Destino.fields[lint_Cursor].Value := sql_Origen.fields[lint_Cursor].Value;
        sql_Destino.Post;

        sql_Origen.Next;
        sql_Destino.ApplyUpdates(-1);
   
   end;
 end;
Saludos...
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
Copiar el contenido de un DataSet a otro DataSet Javi2 Varios 88 22-11-2025 22:17:42
Actualizar un dataset desde otro dataset jafera Conexión con bases de datos 17 18-12-2008 23:57:10
Conectar a un DataSet de otro form. DarkByte Conexión con bases de datos 15 10-09-2004 16:27:58
Vaciar el contenido de un directorio (Borrar *.*) Gelmin Varios 1 22-07-2004 20:21:50
Saber si un Tabla(dataset) esta siendo usado por otro componente cacuna OOP 3 26-05-2004 18:21:43


La franja horaria es GMT +2. Ahora son las 21:36:30.


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