![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Aquí tienes los códigos más interesantes de error y un ejemplo de como manipular el "KeyViol", yo lo que hago es definir un Procedimiento y le llamo desde cualquier postError de cualquier tabla para evitar la repetición del mismo código.
Código:
const
eKeyViol = 9729;
eRequiredFieldMissing = 9732;
eForeignKey = 9733;
eDetailsExist = 9734;
eSqlGralerror = 13059;
implementation
{$R *.DFM}
procedure TForm1.Table1PostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
begin
if (E is EDBEngineError) then
if (E as EDBEngineError).Errors[0].Errorcode = eKeyViol then
begin
Application.MessageBox('Imposible dar alta ese registro ya existe','Atención',mb_Ok +
mb_IconQuestion);
Abort;
end;
end;
__________________
Guía de Estilo de los Foros Cita:
|
|
#2
|
||||
|
||||
|
Gracias a todos, opté por la solución de marcoszorrilla porque validar usando un query antes de cada post no debe ser muy bueno para el rendimiento ;-)
__________________
Sitrico |
|
#3
|
|||
|
|||
|
Key volation
Saludos
tengo un problemilla cuando se repiten las claves, Cita:
__________________
No siempre el mas veloz es el que gana la carrera |
|
#4
|
||||
|
||||
|
Aclarar que la rutina que yo facilité en su día es para el BDE, Paradox fundamentalmente, por lo cual no servirá para Access.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|