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 20-06-2014
pjmedina pjmedina is offline
Miembro
 
Registrado: abr 2006
Posts: 84
Poder: 19
pjmedina Va por buen camino
Question ¿Cómo calcular el tamaño de datos importados?

Buenas a todos,

a ver si alguien me puede echar una mano.

Tengo una aplicacion que hace traspasos entre dos bases de datos de firebird que son similares. Estoy usando los componentes TIBSql para hacer la lectura "SELECT" de la base de datos Origen y para la escritura en la base de datos destisno "INSERT".
Estoy utilizando también Delphi XE5, pero me da igual si es para otra versión de delphi.

Quería saber como podría obtener el tamaño en bytes de los datos leidos en la consulta, sin lanzar una consulta adicional.


Explico un poco el ejemplo que hay acontinuacion:
- QMostrar: es un TIBSQL con un select a una tabla en la base de datos origen.
- QInserta: es un TIBSQL con un insert a una tabla en la base de datos destino.
- lselcampos: Es una lista con los titulos de las columnas del select. En el select y en el insert se llamaran igual.

Qmostrar podría ser:
Código SQL [-]
Select CODIGO, NOMBRE, PRECIO, IMAGEN_BLOB from articulo order by codigo asc
QInserta :
Código SQL [-]
insert into articulo (CODIGO, NOMBRE, PRECIO, IMAGEN_BLOB) values (:CODIGO,:NOMBRE,:PRECIO,:IMAGEN_BLOB)
Código:
lselcampos: ['CODIGO', 'NOMBRE', 'PRECIO', 'IMAGEN_BLOB']
Código Delphi [-]
var  ivar:TIBXSQLVar; 
  i:integer; 
begin  
  QMostrar.ExecQuery; 
  while not(QMostrar.Eof) do 
  begin  
    for i:=0 to lselcampos.Count-1 do  
    begin   
      QInserta.ParamByName(lselcampos[i]).Clear;   
      ivar:=QMostrar.FieldByName(lselcampos[i]);   
      if Not(ivar.isNull)then   
      begin    
        QInserta.ParamByName(lselcampos[i]).Assign(ivar);   
      end;  
    end;  
    QInserta.ExecQuery 
  end; 
end;
Espero podais ayudarme. Gracias

Última edición por Casimiro Notevi fecha: 20-06-2014 a las 21:32:24.
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
calcular e intercambiar datos entre dos o mas tablas miguelgalindo87 Tablas planas 2 02-02-2013 05:49:42
¿como optimizar rendimiento y tamaño base de datos firebird 2.5? JXJ Firebird e Interbase 4 22-11-2010 02:51:45
Usar ActiveX importados en otras maquinas crijos Varios 1 21-01-2006 20:06:33
Calcular el tamaño de la descarga con IdHTTP sitrico Internet 0 24-01-2005 20:53:20


La franja horaria es GMT +2. Ahora son las 20:54:04.


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