![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Abortar una Inserción
Hola amigos del foro, me gustaría saber cómo hago para evitar la inserción de un registro. He probado con esto, en un trigger "BI", pero no me resulta...
![]()
pensé que eso sería suficiente. Tampoco deseo utilizar excepciones... Gracias por vuestro tiempo |
#2
|
||||
|
||||
¿Dónde estás colocando este código?
Si utilizas Table o Query, creo que debería funcionar el OnBeforePost, para poder cancelar utilizando un Cancel.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
Hola Neftali, disculpa por lo poco de la explicación....
Lo que deseo hacer es directamente en la base de datos. el código está en el trigger before insert de la tabla en cuestión pero el código no es suficiente pues me deja pasar el registro
estoy pensando en eliminar el registro si en campo es vació o nulo en el "trigger after insert", pero me parece inapropiado; total si no hay de otra tocará ![]() Gracias por tu tiempo |
#4
|
|||
|
|||
Hola
Si quieres controlarlo en triggers Lo normal para mi es utilizar una excepcion en el BI sino quieres excepciones (no se porque no) puedes hacer una chapuza en el AI delete tabla where id=new.id en el caso que no se cumpla la condicion En fin esto es lo que hay Panta |
#5
|
||||
|
||||
Y por qué no pones en el BeforePost algo así como esto:
Código:
if (new.campo is not null) or (new.campo<>'') then // hacer lo que sea
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
|||
|
|||
Hola...
Cita:
![]() Saludos... |
#7
|
||||
|
||||
Pues hazlo en el trigger beforeinsert.
¿Y por qué no te funciona?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#8
|
||||
|
||||
Cita:
Esa excepción después la puedes capturar en un try ... except de tu programa para que no sea visible por el usuario. O bien, como dicen los compañeros, tendrás que hacer las verificaciones previas en el mismo programa Delphi y no en la base de datos. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#9
|
|||
|
|||
![]() Gustavo:
En alguna ocasión resolví el problema de las siguiente manera: Creé un procedimiento almacenado
De esta manera llamas a tu procedimiento almacenado con sus respectivos parámetros y no te va ha insertar ningún registro de acuerdo a la condición que tu elijas... Saludos, Gerardo Suárez Trejo P.D. Ojo: es un procedimiento almacenado por separado ... Última edición por Gallosuarez fecha: 13-09-2010 a las 21:31:13. |
#10
|
||||
|
||||
Gracias a todos por sus comentarios y recomendaciones. probé la propuesta de mi amigo Gallosuarez; y todo va bien.
Un millón de gracias por vuestro tiempo GustavoCruz |
#11
|
|||
|
|||
la otra es hacer un rollback, pero personalmente es mejor verificar los datos antes de guardar debido a la integridad de la base, cuestion de gustos
|
#12
|
||||
|
||||
Resp
Una vez salen las vistas actualizables a solucionar el problema.
Usa una vista actualizable y los triger de la vista puedes hacer lo que se te ocurra.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Abortar un proceso | TONIAM | Varios | 10 | 31-05-2007 19:26:41 |
¿como abortar ejecución de eventos? | pjjorda | Varios | 5 | 06-06-2006 20:59:59 |
Como Abortar mi APP sin q aparescan Mens de ERROR | pcicom | OOP | 5 | 22-03-2005 09:22:13 |
Abortar un Ciclo While | jmedina | Varios | 2 | 08-03-2005 20:48:17 |
abortar inmediatamente | acrophet | Varios | 4 | 20-10-2003 18:07:18 |
![]() |
|