bigpeter80
04-12-2008, 21:17:26
Hola amigos del Club, de nuevo yo con un nuevo problema... Estuve buscando en los foros pero no encontre nada o simplemente se me paso....
Bueno, tengo una base de datos Access, utilizo una conexión Jet4 y lo que necesito hacer ahora, es, al momento de comprobar los datos que estoy guardando, si por ejemplo, no se ha ingresado un campo requerido, quiero capturar el mensaje de error de la base de datos y personalizar el mensaje de error.
Hasta ahora, con la ayuda de los foros del club he conseguido capturar el mensaje de error en Delphi asi:
procedure TFProp.BtnGuardarClick(Sender: TObject);
begin
try
if MessageDlg('¿Desea guardar el registro?',mtConfirmation, mbYes,mbNo],0)=mrYes then // si la respuesta es si
begin
ADOQuery1.Post; // guarda el registro
end
else
begin
DBEdit1.SetFocus; // sino se vuelve a posicionar en el formulario
end;
except
on E:EDatabaseError do // si hay un mensaje de error de la BD
begin
ShowMessage('Error: '+E.message); // muestra error de la BD
end;
end;
end;
Con esto logro capturar el mensaje de error de la Base de Datos Access y mostrarlo en Delphi. Ahora lo que necesito hacer es, cuando exista un mensaje de error, capturarlo y saber si se trata de un error de duplicación de datos, o campos requeridos; y entonces crear mi propio mensaje de error ("Debe ingresar todos los datos").
Espero se comprenda la idea... Gracias a todos desde ya....
Bueno, tengo una base de datos Access, utilizo una conexión Jet4 y lo que necesito hacer ahora, es, al momento de comprobar los datos que estoy guardando, si por ejemplo, no se ha ingresado un campo requerido, quiero capturar el mensaje de error de la base de datos y personalizar el mensaje de error.
Hasta ahora, con la ayuda de los foros del club he conseguido capturar el mensaje de error en Delphi asi:
procedure TFProp.BtnGuardarClick(Sender: TObject);
begin
try
if MessageDlg('¿Desea guardar el registro?',mtConfirmation, mbYes,mbNo],0)=mrYes then // si la respuesta es si
begin
ADOQuery1.Post; // guarda el registro
end
else
begin
DBEdit1.SetFocus; // sino se vuelve a posicionar en el formulario
end;
except
on E:EDatabaseError do // si hay un mensaje de error de la BD
begin
ShowMessage('Error: '+E.message); // muestra error de la BD
end;
end;
end;
Con esto logro capturar el mensaje de error de la Base de Datos Access y mostrarlo en Delphi. Ahora lo que necesito hacer es, cuando exista un mensaje de error, capturarlo y saber si se trata de un error de duplicación de datos, o campos requeridos; y entonces crear mi propio mensaje de error ("Debe ingresar todos los datos").
Espero se comprenda la idea... Gracias a todos desde ya....