Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda en el evento OnPostError de un ADOTable (https://www.clubdelphi.com/foros/showthread.php?t=43052)

n03l 30-04-2007 18:26:17

Ayuda en el evento OnPostError de un ADOTable
 
hola tengo el siguiente problema en el evento OnPostError de un ADOTable

Código Delphi [-]
if (E is  EDatabaseError) then
begin
Action := daAbort;
Showmessage('Codigo Repetido'); //Aqui funciona todo bien
end else
begin
Showmessage('Codigo Cambiado con exito'); 
end


Cuando el codigo no esta repetido deberia salir Showmessage('Codigo Cambiado con exito'); pero no sale?, claro aqui yo quiero poner otras instrucciones pero para no complicar la explicacion pongo un mensaje

alguien tiene alguna idea que estoy haciendo mal?

salu2

egostar 30-04-2007 18:35:28

Pues creo que en ese evento siempre te dará el mensaje de error, su nombre lo dice no crees?

.....ON POST ERROR.....

Porque no usas mejor un Try...except.

Salud OS.

n03l 30-04-2007 18:40:46

okey gracias por responder, boy a probar a ver q tal me va...
salu2.

egostar 30-04-2007 18:44:03

Cita:

Empezado por n03l
okey gracias por responder, boy a probar a ver q tal me va...
salu2.

Solo para aclarar algo, no uses el try...except en el evento OnPostError, usalo donde estas realizando el post.

Algo asi:

Código Delphi [-]
 
Try
   Post;
   Showmessage('Codigo Cambiado con exito');
except
   Showmessage('Codigo Repetido');
end;

Salud OS.

Caral 30-04-2007 18:46:51

Hola
Que puedo decir, eres grande maestro.
Saludos

roman 30-04-2007 18:52:58

Yo, de hecho, usaría el evento AfterPost para el código que sigue a un post exitoso y OnPostError para los errores. De esta manera controlamos todo independientemente de cómo se hace el post, porque no siempre es explícito, puede hacerse desde un dbgrid, por ejemplo.

// Saludos

Caral 30-04-2007 18:58:30

Hola
Y yo pregunto, para que?
No se para que tanto esfuerzo, amerita?
No os parece hacer el post y ya, se necesita saber si se hizo o no?
Que yo sepa si no se efectua el post correctamente de echo no sale un mensaje de error?
Saludos

roman 30-04-2007 19:06:21

Toma en cuenta que lo del mensaje sólo es un ejemplo

Cita:

Empezado por n03l
claro aqui yo quiero poner otras instrucciones pero para no complicar la explicacion pongo un mensaje

No sabemos realmente cual sea la finalidad que persigue el compañero, pero por algo existe el evento AfterPost: cualquier cosa que deba hacerse después de un post exitoso. El uso de los eventos del dataset tiene como finalidad centralizar el manejo de los datos para no depender de cómo se inician las acciones.

// Saludos

egostar 30-04-2007 19:06:31

Amigo Caral

Yo creo que un programa mas o menos decente debería de mostrar mensajes de error para actuar en consecuencia, de otra manera se asumiría que todo se hizo correctamente y en su momento los errores nos darían dolores de cabeza.

Cita:

Empezado por Caral
Que yo sepa si no se efectua el post correctamente de echo no sale un mensaje de error?

Si sale ya que en este caso existe un error de violación de una llave primaria, por lo que nos mostraría un error de Violation......., lo que se debería de hacer es poner un mensaje mas entendible.

Edito: Perdon, Cuando es satisfactorio no manda mensaje pero si podemos indicar que se hizo bien.

Salud OS.

roman 30-04-2007 19:10:33

No sé, pero creo que Caral se refería a lo contrario de lo que escribió:

Si no hay error, no hay mensaje

Y es en ese sentido mi respuesta anterior. En caso contrario, con mayor razón hay que dejar paso a los mensajes. Aún así, reitero mi opinión de que es mejor hacerlo en los eventos.

// Saludos

egostar 30-04-2007 19:16:41

Cita:

Empezado por roman
No sé, pero creo que Caral se refería a lo contrario de lo que escribió:

Si no hay error, no hay mensaje

Y es en ese sentido mi respuesta anterior. En caso contrario, con mayor razón hay que dejar paso a los mensajes. Aún así, reitero mi opinión de que es mejor hacerlo en los eventos.

// Saludos

Estoy totalmente de acuerdo contgo roman, lo que debemos de estar muy concientes es que en la capa 8 del modelo OSI (usuario final :D ) es donde debemos de poner especial atención, es por eso que los mensajes son muy importantes en ambos sentidos.

Salud OS.

Caral 30-04-2007 19:18:29

Hola
Sera la costumbre, pero siempre lo hago como dice egostar con Try Except, como en la mayoria de las ocasiones no actualizo una sino varias tablas a la vez me parece un medio bueno para hacerlo, nunca he utilizado los enventos mencionados, pero me parece interesante, aprendo cada dia mas.
Saludos

Caral 30-04-2007 19:20:30

Hola
Cita:

capa 8 del modelo OSI
Donde me perdi, como se come esto?:D
Como se nota que no soy programador para no conocer vuestros terminos.:)
Saludos

egostar 30-04-2007 19:25:18

Cita:

Empezado por Caral
Hola

Donde me perdi, como se come esto?:D
Como se nota que no soy programador para no conocer vuestros terminos.:)
Saludos

Fue una pequeña broma mi estimado Caral pero si quieres aqui puedes ver que es el modelo OSI.

Salud OS.

roman 30-04-2007 19:25:40

Aunque por más que busco, no encuentro la capa 8; debe ser eso que está entre el teclado y la silla :D

// Saludos

n03l 30-04-2007 19:31:38

Bueno gracias a todos por responder, ya logre lo que queria justo como dijo Roman con el evento AfterPost para no complicame y listo...

nota: yo no quiero poner un mensaje lo que quiero es poner otras instrucciones.




salu2...

Caral 30-04-2007 19:35:26

Hola
Con todo esto estoy pensando en hacer una subscripcion a Wikipedia por que a cada rato me mandais por ahi.
Y si la capa 8 esta entre el teclado y la silla debe ser mas dificil de estudiar, abra capa 8 , flacas, gordas o robustas, cortas, largas, bueno hui que tarea.:D
Saludos


La franja horaria es GMT +2. Ahora son las 07:53:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi