📄 udm.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "UDM.h"
#include "UMsgBox.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TDM *DM;
TFormMsgBox *MsgBox;
//---------------------------------------------------------------------------
__fastcall TDM::TDM(TComponent* Owner)
: TDataModule(Owner)
{
}
void ShowDelErr(AnsiString S)
{
MsgBox=new TFormMsgBox(Application);
MsgBox->MsgBox("错误",S,MBOKONLY,MBERROR);
delete MsgBox;
//MsgBox->MsgBox("错误","由于其他表中包含相关记录,\n\n不能删除该记录!",MBOKONLY,MBERROR);
Abort();
}
void ShowEditErr()
{
MsgBox=new TFormMsgBox(Application);
//MsgBox->MsgBox("错误",S,MBOKONLY,MBERROR);
MsgBox->MsgBox("错误","不能修改该记录;\n\n违反完整性约束!",MBOKONLY,MBERROR);
delete MsgBox;
Abort();
}
void ShowPostErr()
{
MsgBox=new TFormMsgBox(Application);
//MsgBox->MsgBox("错误",S,MBOKONLY,MBERROR);
MsgBox->MsgBox("错误","添加记录失败;\n\n请检查数据是否满足完整性约束!",MBOKONLY,MBERROR);
delete MsgBox;
Abort();
}
void ShowBefDel(AnsiString S)
{
MsgBox=new TFormMsgBox(Application);
MsgBox->MsgBox("删除记录",S,MBOKCANCEL,MBINFORMATION);
//MsgBox->MsgBox("删除记录","确定删除该记录吗?",MBOKCANCEL,MBINFORMATION);
if(MsgBox->Id==IDYES);
else Abort();
delete MsgBox;
}
//---------------------------------------------------------------------------
void __fastcall TDM::DataModuleCreate(TObject *Sender)
{
WideString ConStr;
ConStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+GetCurrentDir()+"\\Database.mdb;Persist Security Info=False";
ADOQProject->ConnectionString=ConStr;
ADOQTeacher->ConnectionString=ConStr;
ADOQAttender->ConnectionString=ConStr;
ADOQSalary->ConnectionString=ConStr;
ADOQDepartment->ConnectionString=ConStr;
ADOQAchievement->ConnectionString=ConStr;
ADOQReward->ConnectionString=ConStr;
ADOQueryS->ConnectionString=ConStr;
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQDepartmentDeleteError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowDelErr("由于其他表中包含Department表的相关记录,\n\n不能删除该记录!");
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQTeacherDeleteError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowDelErr("由于其他表中包含Teacher表的相关记录,\n\n不能删除该记录!");
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQProjectEditError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowEditErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQTeacherEditError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowEditErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQAttenderEditError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowEditErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQDepartmentEditError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowEditErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQDepartmentPostError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowPostErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQAttenderPostError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowPostErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQTeacherPostError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowPostErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQProjectPostError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowPostErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQProjectDeleteError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowDelErr("由于其他表中包含Project相关记录,\n\n不能删除该记录!");
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQAttenderDeleteError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowDelErr("由于其他表中包含Attender相关记录,\n\n不能删除该记录!");
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQDepartmentBeforeDelete(TDataSet *DataSet)
{
ShowBefDel("确定删除该记录吗?");
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQTeacherBeforeDelete(TDataSet *DataSet)
{
ShowBefDel("确定删除该记录吗?");
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQProjectBeforeDelete(TDataSet *DataSet)
{
ShowBefDel("确定删除该记录吗,\n\nAttender表及Achievement关联的记录将同时被删除");
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQRewardDeleteError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowDelErr("由于其他表中包含Reward相关记录,\n\n不能删除该记录!");
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQRewardEditError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowEditErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQRewardPostError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowPostErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQAchievementDeleteError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowDelErr("由于其他表中包含Achievement相关记录,\n\n不能删除该记录!");
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQAchievementEditError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowEditErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQAchievementPostError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowPostErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQSalaryDeleteError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowDelErr("由于其他表中包含Salary相关记录,\n\n不能删除该记录!");
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQSalaryEditError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowEditErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQSalaryPostError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
ShowPostErr();
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQAchievementBeforeDelete(TDataSet *DataSet)
{
ShowBefDel("确定删除该记录吗,\n\n\Order表关联的记录将同时被删除");
}
//---------------------------------------------------------------------------
void __fastcall TDM::ADOQSalaryBeforeDelete(TDataSet *DataSet)
{
ShowBefDel("确定删除该记录吗,\n\n\可能会违反参照完整性!");
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -