Hola amigos, gracias por leer el post. Me encuentro desarrollando una aplicacion para el envio de correos y estoy ahora programando un asistente de importacion que importa desde un archivo (txt, csv, etc.) hacia la BD. El gran problema es que la insercion esta lentisima. Aqui esta el codigo que he creado. Utilizo Delphi 7, ZeosDB 7 y SQLite3.
Código Delphi
[-]
var
vFile: TStringList;
vX: Integer;
begin
JvWizard1.ActivePageIndex := 1;
vFile := TStringList.Create;
try
vFile.LoadFromFile(boxArchivoSeleccionado.Text);
Gauge1.MinValue := 0;
Gauge1.MaxValue := vFile.Count -1;
for vX := 0 to vFile.Count -1 do
begin
DataM.tbd_recipients.Insert;
DataM.tbd_recipientslist.AsInteger := 0;
DataM.tbd_recipientsname.AsString := '';
DataM.tbd_recipientsemail.AsString := vFile.Strings[vX];
DataM.tbd_recipients.Post;
Gauge1.Progress := vX;
Application.ProcessMessages;
end;
ShowMessage(Format('Se han importado %d correos de forma satisfactória.', [vFile.Count]));
finally
vFile.Free;
end;
Por lo que estuve mirando SQLite es rapido cuando se agrupan las inserciones o sea que yo deberia hacer una consulta INSERT y agregar todos los valores pero tengo miedo pasarme y explotar la memoria de la PC.
Por favor ayuda los que conocen del tema a ver de que forma puedo insertar rapido y seguro muchos registros en SQLite 3.