andresenlared |
17-05-2007 23:01:20 |
Exportar a TXT-Mejorar rendimiento
Saludos.
Necesito mejorar el rendimiento al exportar datos de un Objeto SimpleDataset de los IBexpert, este objeto se crea en runtime, y no se conocen los campos totales de la consulta. en este momento estoy haciendo un recorrido sobre el resultado de la consulta y un ciclo interno que me indica los campos y los valores los capturo en una cadena que luego la asigno al archivo. El proceso es muy lento...si conocen un metodo mas rapido o algo parecido al BUlk pero para exportar, porque siempre los datos que se recuperan estan entre los 200000 y millon.
Muchas gracias por su valiosa ayuda.
Código Delphi [-]procedure TfrmGenerador.salvar_txt(datos: Tdataset);
var
i,j:integer;
archivo: Textfile;
registro: String;
begin
DBGrid1.Columns.SaveToFile('c:\plano.txt');
AssignFile(archivo,ExtractFileDir(Application.ExeName) + '\tmp\Datos.txt');
Rewrite(Archivo);
datos.Prior;
for i:=0 to datos.RecordCount-1 do
begin
registro:='';
for j:=0 to datos.FieldCount-1 do
if j=datos.FieldCount-1 then
registro:=registro+VarToStr(datos.Fields[j].Value)
else
registro:=registro+VarToStr(datos.Fields[j].Value)+',';
writeln(archivo,registro);
datos.Next;
end;
CloseFile(archivo);
ShowMessage('Archivo Exportado');
end;
|