![]() |
try-except - grandes problemas
si bien he visto que este es un tema tratado, vuelvo a el porque no he encontrado una solucion a mi problema, uso delphi7 firebird y dbexpres
tengo dos tablas : articulos y rubros, donde articulo tiene un campo FK con rubros, cuando quiero borrar un rubro que ha sido usado en articulos, me dispara un error pero el except no me lo detecta, me lo deja borrar aunque si salgo y entro en realidad no se borro. el tema que no me mostro el cartel. vuelvo a decir cuando hago el ApplyUpdates(0) me da un error donde me indica sobre el FK hago with ClientDataSet1 do begin try Delete ApplyUpdates(0); except ShowMessage('error'); end; end; espero sus respuesta, si alguien puede reproducirlo o bien quiere que le mande un .rar con el ej me da su correo, preciso solucionar esto a la mayor brevedad. |
Lo que mencionas es lo que se esperaria que pasara, ya que si te fijas, el applyupdates esta dentro del try de manera que si hay una excepcion aparentemente si hace el borrado, que es donde se genera la exepcion, pero como no se ejecuta el applyupdates no pasa nada.
Lo correcto:
De manera que si hay un error se cancela todo. Ojo, el dataset debe tener activado el CachedUpdates, ya que si no, esto de Apply/Cancel updates no funciona |
La franja horaria es GMT +2. Ahora son las 02:16:58. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi