Hola pmtzg.
Cita:
segun yo es por que estoy tratando de insertar una dato o un campo que ya existe en mi tabla
|
Estas bién orientado:
Attempt to store duplicate value (visible to active transactions) in unique index.
Cita:
pero probe pero no es por ahi
|
Sin embargo, al igual que
newtron, estoy totalmente convencido de que sí es por ahí...
Hace una semana te sugerí lo mismo con tablas Paradox:
mensaje #2, en la línea:
Cita:
For i := 1 to ViejaTablaParadox.Fields.Count -1 do // i=1 para respetar el campo_ID
|
Y en otro hilo posterior lo mismo hace
oscarac:
mensaje #2, en la línea:
Cita:
for I := 1 to query2.fields.Count - 1 do
|
No es muy eficiente por que realiza una asignación innecesaria, pero como sospecho que la ubicación de 'NUM_REG' puede no ser la primera...
Código Delphi
[-]
var
i: Integer;
NumReg: Integer;
begin
Query1.Open;
IBTable1.Open;
NumReg:= 1;
while not Query1.Eof do
begin
IBTable1.Append;
for i:= 0 to Query1.FieldCount -1 do
IBTable1.Fields[i].Value:= Query1.Fields[i].Value;
IBTable1.FieldByName('NUM_REG').AsInteger:= NumReg;
IBTable1.Post;
Query1.Next;
Inc(NumReg);
end;
IBTable1.Close;
Query1.Close;
end;
El código funciona. (probado)
Cita:
solo quisiera saber si ya le meti un tye except, que puedo hacer para que no se pare mi proceso salte este registro o error y siga insertando mas registros
|
Un consejo: No utilices
try/except para enmascarar excepciones, es muy mala práctica.
Saludos.