Ver Mensaje Individual
  #1  
Antiguo 16-06-2023
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 264
Reputación: 2
pgranados Va por buen camino
Inserción masiva en Firebird, no aparecen todos mis registros

Buen día, tengo una tabla en mi base de datos en la cual almaceno todos los códigos postales que existen en México, son algo así de +95 mil.

A veces la autoridad competente actualiza los catálogos de códigos postales y por ende necesito actualizarlos en mi programa, pero mi problema es que se están eliminando los registros cuando realizo la inserción masiva, estos códigos postales el Servicio Postal Mexicano los publica en un Excel de dos hojas, entonces yo recorro toda la primera hoja y extraigo los valores, de la siguiente manera:

Código Delphi [-]
if not DataModule.FDQueryGrabar.Active then
   DataModule.FDQueryGrabar.Open;

for Fila := 6 to Rango.Rows.Count do
begin
     DataModule.FDQueryGrabar.Append;
     DataModule.FDQueryGrabarValor1.Value:= Rango.Cells[Fila,1].value;
     DataModule.FDQueryGrabarValor2.Value:= Rango.Cells[Fila,2].value;
     DataModule.FDQueryGrabarValor3.Value:= Rango.Cells[Fila,3].value;
     DataModule.FDQueryGrabar.Post;
end;

// Aqui ya cambio de pagina en el excel y demas

DataModule.FDQueryGrabar.Refresh;
DataModule.FDQueryGrabar.Last;

// Aqui inicio de nuevo el ciclo, pero ya en la otra pagina
for Fila := 6 to Rango.Rows.Count do
begin
     DataModule.FDQueryGrabar.Append;
     DataModule.FDQueryGrabarValor1.Value:= Rango.Cells[Fila,1].value;
     DataModule.FDQueryGrabarValor2.Value:= Rango.Cells[Fila,2].value;
     DataModule.FDQueryGrabarValor3.Value:= Rango.Cells[Fila,3].value;
     DataModule.FDQueryGrabar.Post;
end;

Pero en lugar de grabarme casi 95k de registros me muestra unos 50 mil

¿Alguien sabe que puedo revisar? Saludos.

Edit: Hago un count(*) a mi tabla y si aparecen los 95k de registros, pero en el DBaver o en el SQL manager no aparecen

Última edición por pgranados fecha: 16-06-2023 a las 20:38:36. Razón: Count
Responder Con Cita