La Web del Programador: Comunidad de Programadores
 
    Pregunta:  53005 - COMO HACER Q EL METODO UPDATE NO PARE CUABNDO FALLE UN REGIS
Autor:  oshawk V
Buenas tardes

Estoy intentando hacer una inserción de 1000 registros en una tabla cuando la insercion falla en el registro 20 , esta se detiene. Como puedo hacer para q no se detenga e ignore el error e inserte lo 999 registro que estan bien.

dw_1.Update() //lo he probado con las banderas true y false

Muchas gracias por su colaboración

  Respuesta:  mIke
por si te sirve:
En el evento sqlpreview del DW tienes las sintaxis en la variable de argumento sqlsyntax, lo que puedes hacer es ejecutarla manual y si falla regresas un valor 2 para que continue con la siguiente instrucción (insert).

consulta en la ayuda de power sobre el evento sqlpreview

  Respuesta:  U G
Supuestos:
.- Q dw_2 contenga los 1000 registros
.- dw_1 sirva para el insert y el update
.- Campo a grabar: codigo (q tienen ambas dw's )
.- Crear control ListBox (lb_1) para reflejar resultados

LONG i, ll_fila

FOR i=1 TO dw_2.RowCount()
ll_fila=dw_1.InsertRow(0)
dw_1.SetItem(ll_fila,"codigo",dw_2.GetItemString(i,"codigo"))
IF dw_1.Update()=-1 THEN
ROLLBACK;
lb_1.AddItem("Error: "+dw_2.GetItemString(i,"codigo"))
dw_1.DeleteRow(ll_fila)
ELSE
COMMIT;
lb_1.AddItem("Grabado: "+dw_2.GetItemString(i,"codigo"))
END IF
NEXT