Hola!
Agradezco la ayuda que me han dado primero que todo a todos (valga la redundancia).
El tema es el siguiente, he logrado insertar los registros en la tabla desde el archivo texto, pero el problema es que no me permite capturar correctamente los errores que se pueden presentar. Ejemplo cuando se me presentaba ese error del character set, quería que me lo mostrara en un memo, pero no lo hace, le he colocado los números posibles en el applyupdate pero no funciona. Si coloco el -1 continúa como si nada e inserta los que pueda sin chistar, si coloco el 0 solo inserta hasta donde encuentra el error o se bloquea.
Esta es parte de la rutina que implemento:
Código:
for iFil := 1 to sgFuente.RowCount - 1 do
begin
cdsDatos.Insert;
iLinea := iFil;
for iCol := 0 to cdsDatos.FieldCount - 1 do
cdsDatos.Fields[iCol].AsString := sgFuente.Cells[iCol, iFil];
cdsDatos.Post;
try
cdsDatos.ApplyUpdates(-1);
mResultado.Lines.Add(Format(MLineaOK, [IntToStr(iLinea)]));
except On E: Exception do
mResultado.Lines.Add(Format(EInsercion, [IntToStr(iLinea)]) + E.Message);
end;
end;
Cuando efectúo la inserción, si todo va OK, en el memo inserta una línea con el mensaje indicado, pero si da cualquier error, debe insertar el mensaje de error y la línea afectada, con esto se puede saber cual y cuantas líneas se han migrado a la tabla y las que no saber los posibles motivos y no perder tanto tiempo.
Si estoy haciendo algo mal, espero que con esta parte del código me ayuden a aclararlo, pero creo que no esta mal, lo que sucede es que no se como poder capturar el momento cuando ocurre un error e insertar el mensaje y que continúe con el ciclo sin que se interrumpa el resto como sucede si coloco 0 al applyupdate, mostrando los mensajes de inserción satisfactoria.
Bueno amigos gracias nuevamente