Ver Mensaje Individual
  #10  
Antiguo 15-06-2013
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Reputación: 14
novato_erick Va por buen camino
Hola Chicos tengo casi la misma duda y al final leí las recomendaciones de casimiro sin embargo tengo una pequeña Interrogante:

en realidad mi intensión es que al leer mi archivo TxT con Tabulaciones pueda al final realizar insert en Firebird por Delphi. tengo este codigo que recorre linea por linea es algo lento pero necesito orientación de como hacer el insert usando el componente TQuery del DBExpress..

Este es el procedimiento de recorrido:

Código Delphi [-]
procedure TfrmCargaComprobante.Button2Click(Sender: TObject);
var
  i, j: integer;
  cadena, cadena2: string;
begin
  SetLength(valores, 0);
  for i := 0 to Memo1.Lines.Count - 1 do//169 lineas
  begin
    SetLength(valores, length(valores) + 1);
    cadena := Memo1.Lines[i];
    cadena2 := '';
    for j := 1 to length(cadena) do //Cadena Completa '4'#9'Adames'#9'César'#9'1.71'#9'20.51'#9#9#9
    begin
      if cadena[j] <> ';' then
        cadena2 := cadena2 + cadena[j]// aqui va haciendo el recorriedo poniendo lo siguiente '4'#9'Adames'#9'César'#9'1.71'#9'20.51'#9#9#9 pero cada 
                                      // vez que hace un recorrido esto hace lento el proceso porque a la final mi archivo tiene 169 lineas
      else
      begin
        SetLength(valores[length(valores) - 1],
          length(valores[length(valores) - 1]) + 1);
        valores[length(valores) - 1, length(valores[length(valores) - 1]) - 1]
          := cadena2;
        cadena2 := '';
      end;
    end;
  end;
  ShowMessage('Carga del archivo completada');
end;



Código Delphi [-]
procedure TfrmCargaComprobante.Button4Click(Sender: TObject);
var
rutaTxT, archivotxt : string;
txtFile: TFileStream;
begin
if OpenDialog1.Execute = true then
begin
 txtFile := TFileStream.Create(OpenDialog1.FileName,fmOpenRead or fmShareExclusive);
  archivotxt := txtFile.FileName;
  TxtFile.Destroy;// Destruyo el componente OpenDialog ya que me decía que el archivo estaba siendo usado por otra aplicación con esto lo controle
  Memo1.Lines.LoadFromFile(archivotxt);
end;
end;

Como hago el insert en mi DB De Firebird?


Saludos


novato_erick
Responder Con Cita