Ver Mensaje Individual
  #6  
Antiguo 19-06-2023
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Desde Delphi, después de terminar la inserción deberías hacer un SELECT y asegurar que el WHERE no esté filtrando por algo que te esconda registros.
Si haces "SELECT * FROM TABLA" y luego vas al último deberías verlos todos.
Por otro lado revisa que no estés insertando registros duplicados.
En España existe el caso de que varios pueblos pequeños que compartan un mismo código postal.
También se da el caso inverso. Barcelona tiene muchos códigos postales.

De todos modos, habría que ver el código completo para poder saber qué es lo que hay dentro de cada componente.

Cuando se hacen Inserts Masivos, lo normal no es utilizar una tabla, sinó ejecutar un Query independiente ya que los DataSets pueden tener alguna cosa que no podemos controlar.

Yo haría los inserts así:

Código Delphi [-]
var
  Q : TQuery.Create;

begin
[...]
  with Q.SQL do
  begin
    Add(' INSERT INTO CODIGO_POSTAL (CODIGO, NOMBRE, ...) ');
    Add(' VALUES (:CODIGO, :NOMBRE, ...);
  end;

  Q.Prepare;

  for Fila := 6 to Rango.Rows.Count do
  begin
     Q.Params[0].AsString := Rango.Cells[Fila,1].value;
     Q.Params[1].AsString := Rango.Cells[Fila,2].value;
     Q.Params[2].AsString := Rango.Cells[Fila,3].value;
     Q.ExecSQL;
  end;

  Q.Commit;
  [...]
end;
Responder Con Cita