⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udm.cpp

📁 可实现科研信息管理系统的功能,有项目管理,教师管理,科研项目管理等多项内容
💻 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 + -