📄 uachievement.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "UAchievement.h"
#include "UDM.h"
#include "UMsgBox.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
//---------------------------------------------------------------------------
__fastcall TFormAchievement::TFormAchievement(TComponent* Owner)
: TFormTemplate(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFormAchievement::CBPNameChange(TObject *Sender)
{
DBEPName->Text=CBPName->Text;
DisplayAttender();
//DM->ADOQReward->SQL->Clear();
//DM->ADOQReward->SQL->Add("insert into reward select pname,tname from project,attender where project.pname='"+CBPName->Text+"' and attender.pno=project.pno")
}
//---------------------------------------------------------------------------
void __fastcall TFormAchievement::DataControlState(bool ReadOnly)
{
//TODO: Add your source code here
DBEANo->ReadOnly=ReadOnly;
//DBEPName->ReadOnly=ReadOnly;
DBETime->ReadOnly=ReadOnly;
DBCBType->ReadOnly=ReadOnly;
DBCBLevel->ReadOnly=ReadOnly;
DBCBRank->ReadOnly=ReadOnly;
//CBPName->Visible=!ReadOnly;
DBGridPName->Enabled=ReadOnly;
DBGridPName->Refresh();
SBtnAdd->Enabled=ReadOnly;
SBtnModify->Enabled=ReadOnly;
SBtnPri->Enabled=ReadOnly;
SBtnNext->Enabled=ReadOnly;
SBtnDelete->Enabled=ReadOnly;
SBtnCommit->Enabled=!ReadOnly;
DBEANo->SetFocus();
Panel2->Visible=!ReadOnly;
}
void __fastcall TFormAchievement::SBtnAddClick(TObject *Sender)
{
DataControlState(false);
//DBEPName->ReadOnly=false;
CBPName->Visible=true;
DM->ADOQAchievement->Append();
DBEPName->Text=CBPName->Text;
}
//---------------------------------------------------------------------------
void __fastcall TFormAchievement::SBtnCommitClick(TObject *Sender)
{
try
{
DM->ADOQAchievement->Post();
DataControlState(true);
CBPName->Visible=false;
if(CBTName1->Text!="")
{
DM->ADOQReward->SQL->Clear();
DM->ADOQReward->SQL->Add("delete * from reward where pname='"+DBEPName->Text+"'");
DM->ADOQReward->ExecSQL();
DM->ADOQReward->SQL->Clear();
DM->ADOQReward->SQL->Add("insert into reward values('"+DBEPName->Text+"','"+CBTName1->Text+"','1')");
DM->ADOQReward->ExecSQL();
}
if(CBTName2->Text!="")
{
DM->ADOQReward->SQL->Clear();
DM->ADOQReward->SQL->Add("insert into reward values('"+DBEPName->Text+"','"+CBTName2->Text+"','2')");
DM->ADOQReward->ExecSQL();
}
if(CBTName3->Text!="")
{
DM->ADOQReward->SQL->Clear();
DM->ADOQReward->SQL->Add("insert into reward values('"+DBEPName->Text+"','"+CBTName3->Text+"','3')");
DM->ADOQReward->ExecSQL();
}
if(CBTName4->Text!="")
{
DM->ADOQReward->SQL->Clear();
DM->ADOQReward->SQL->Add("insert into reward values('"+DBEPName->Text+"','"+CBTName4->Text+"','4')");
DM->ADOQReward->ExecSQL();
}
if(CBTName5->Text!="")
{
DM->ADOQReward->SQL->Clear();
DM->ADOQReward->SQL->Add("insert into reward values('"+DBEPName->Text+"','"+CBTName5->Text+"','5')");
DM->ADOQReward->ExecSQL();
}
if(CBTName6->Text!="")
{
DM->ADOQReward->SQL->Clear();
DM->ADOQReward->SQL->Add("insert into reward values('"+DBEPName->Text+"','"+CBTName6->Text+"','6')");
DM->ADOQReward->ExecSQL();
}
if(CBTName7->Text!="")
{
DM->ADOQReward->SQL->Clear();
DM->ADOQReward->SQL->Add("insert into reward values('"+DBEPName->Text+"','"+CBTName7->Text+"','7')");
DM->ADOQReward->ExecSQL();
}
FormShow(Sender);
DM->ADOQAchievement->Prior();
}
catch(...)
{
//ShowMessage("Error");
DBGridPName->Refresh();
}
}
//---------------------------------------------------------------------------
void __fastcall TFormAchievement::SBtnModifyClick(TObject *Sender)
{
DataControlState(false);
DisplayAttender();
DM->ADOQAchievement->Edit();
}
//---------------------------------------------------------------------------
void __fastcall TFormAchievement::SBtnDeleteClick(TObject *Sender)
{
DM->ADOQAchievement->Delete();
DM->ADOQProject->SQL->Clear();
DM->ADOQProject->SQL->Add("select Pname from project where pname not in(select Pname from achievement)");
DM->ADOQProject->Open();
DisplayRestProject();
if(CBPName->Items->Count<1)
SBtnAdd->Enabled=false;
SBtnAdd->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TFormAchievement::DisplayRestProject()
{
CBPName->Items->Clear();
while(!DM->ADOQProject->Eof)
{
CBPName->AddItem(DM->ADOQProject->FieldByName("PName")->AsString,0);
DM->ADOQProject->Next();
}
DM->ADOQProject->Prior();
DM->ADOQProject->Active=false;
}
void __fastcall TFormAchievement::FormShow(TObject *Sender)
{
DM->ADOQProject->SQL->Clear();
DM->ADOQProject->SQL->Add("select Pname from project where pname not in(select Pname from achievement)");
DM->ADOQProject->Open();
DisplayRestProject();
if(CBPName->Items->Count<1)
SBtnAdd->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TFormAchievement::DBEPNameChange(TObject *Sender)
{
DM->ADOQReward->SQL->Clear();
DM->ADOQReward->SQL->Add("select * from reward where pname='"+DBEPName->Text+"'");
DM->ADOQReward->Open();
}
//---------------------------------------------------------------------------
void __fastcall TFormAchievement::SBtnPriClick(TObject *Sender)
{
DM->ADOQAchievement->Prior();
}
//---------------------------------------------------------------------------
void __fastcall TFormAchievement::SBtnNextClick(TObject *Sender)
{
DM->ADOQAchievement->Next();
}
//---------------------------------------------------------------------------
void __fastcall TFormAchievement::DisplayAttender()
{
CBTName1->Items->Clear();
DM->ADOQAttender->SQL->Clear();
DM->ADOQAttender->SQL->Add("select tname from attender where pno in(select pno from project where pname='"+DBEPName->Text+"') union select pmanager as tname from project where pname='"+DBEPName->Text+"'");
DM->ADOQAttender->Active=true;
while(!DM->ADOQAttender->Eof)
{
CBTName1->AddItem(DM->ADOQAttender->FieldByName("TName")->AsString,0);
DM->ADOQAttender->Next();
}
DM->ADOQAttender->Prior();
DM->ADOQAttender->Active=false;
CBTName2->Items=CBTName1->Items;
CBTName3->Items=CBTName1->Items;
CBTName4->Items=CBTName1->Items;
CBTName5->Items=CBTName1->Items;
CBTName6->Items=CBTName1->Items;
CBTName7->Items=CBTName1->Items;
}
void __fastcall TFormAchievement::FormCloseQuery(TObject *Sender,
bool &CanClose)
{
DM->ADOQProject->SQL->Clear();
DM->ADOQProject->SQL->Add("select * from project order by pno");
DM->ADOQAttender->SQL->Clear();
DM->ADOQAttender->SQL->Add("select * from attender order by pno");
DM->ADOQProject->Active=false;
DM->ADOQAttender->Active=false;
DM->ADOQAchievement->Active=false;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -