lo que me indicaste lo puse dentro del Modulo de Datos
Código Delphi
[-]
unit Modulo;
interface
uses
SysUtils, Classes, DB, DBTables;
type
TDM = class(TDataModule)
DsEmpleados: TDataSource;
TbEmpleados: TTable;
Database: TDatabase;
DsDepartamentos: TDataSource;
DsPuestos: TDataSource;
TbDepartamentos: TTable;
TbPuestos: TTable;
DsDirecciones: TDataSource;
TbDirecciones: TTable;
DsEspecialidades: TDataSource;
TbEspecialidades: TTable;
TbDireccionesId_Direccion: TStringField;
TbDireccionesDireccion: TStringField;
TbDepartamentosId_Departamento: TStringField;
TbDepartamentosId_Direccion: TStringField;
TbDepartamentosDepartamento: TStringField;
TbPuestosId_Puesto: TStringField;
TbPuestosPuesto1: TStringField;
TbPuestosPuesto2: TStringField;
TbPuestosSueldoDiario: TFloatField;
TbPuestosDespensa: TFloatField;
TbEspecialidadesId_Especialidad: TStringField;
TbEspecialidadesEspecialidad: TStringField;
procedure TbEmpleadosPostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
private
public
end;
var
DM: TDM;
implementation
{$R *.dfm}
procedure TDM.TbEmpleadosPostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
begin
midberror(TbEmpleados,E);
end;
end.
me cree un archivo unit y lo grabe con el nombre de midberror y a su vez puse el llamado dentro del Modulo de Datos.
unit Modulo;
interface
uses
SysUtils, Classes, DB, DBTables, midberror;
y la verdad no se donde escribir el demas codigo (osea este) porque me marco errores...
Código Delphi
[-]
unit midberror;
Procedure midberror(DataSet: TDataSet; E: EDatabaseError);
Const
eKeyViol = 9729;
eRequiredFieldMissing = 9732;
eForeignKey = 9733;
eDetailsExist = 9734;
eSqlGralerror = 13059;
eInvalidTime = 10058;
eInvalidDate = 75;
EinvalidDateTime=10060;
eRegisterLocked= 10241;
implementation
Procedure midberror(DataSet: TDataSet; E: EDatabaseError);
var
mierror:double;
begin
mierror:= (E as EDBEngineError).Errors[0].Errorcode;
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;
if (E as EDBEngineError).Errors[0].Errorcode = eRequiredFieldMissing then
begin
Application.MessageBox('Imposible dar alta hay un campo vacio.','Atención',mb_Ok +
mb_IconQuestion);
Abort;
end;
if (E as EDBEngineError).Errors[0].Errorcode = eInvalidTime then
begin
Application.MessageBox('Formato de hora incorrecto.','Atención',mb_Ok +
mb_IconQuestion);
Abort;
end;
if (E as EDBEngineError).Errors[0].Errorcode = eInvalidDate then
begin
Application.MessageBox('Formato de fecha incorrecto.','Atención',mb_Ok +
mb_IconQuestion);
Abort;
end;
gracias de antemano....