📄 unit4.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit4.h"
#include "Unit11.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
Tfrm_bellow *frm_bellow;
//---------------------------------------------------------------------------
__fastcall Tfrm_bellow::Tfrm_bellow(TComponent* Owner)
: TForm(Owner)
{
Height=489;
Width=697;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_bellow::ToolButton11Click(TObject *Sender)
{
if(!DBGrid1->SelectedRows->Count)
ShowMessage("请选择要延期的图书!");
else
frm_bellow->post();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_bellow::Edit1KeyPress(TObject *Sender, char &Key)
{
if(Key==VK_RETURN)
{
gsearch();
}
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_bellow::gsearch()
{
AnsiString sql("select * from 借还资料");
sql+=" where 读者号=\'";
sql+=Edit1->Text+"\'";
try
{
DM->brQuery->Close();
DM->brQuery->SQL->Clear();
DM->brQuery->SQL->Add(sql);
DM->brQuery->ExecSQL();
DM->brQuery->Active=true;
}
catch(Exception &exception)
{
if(MessageBox(NULL,"数据库出现错误!","错误",MB_OK)==IDOK)
{
Edit1->Text="";
Edit1->SetFocus();
}
}
if(DM->brQuery->RecordCount)
{
if(DM->brQuery->FieldByName("归还时间")->AsDateTime>TDateTime::CurrentTime())
{
for(int i=0;i<DBGrid1->Columns->Count;i++)
DBGrid1->Columns->Items[i]->Color=clYellow;
}
if(DBGrid1->SelectedRows->Count!=0)
{
DM->brQuery->Delete();
DM->brQuery->Post();
}
}
}
//-----------------------------------------------------------------------------
void __fastcall Tfrm_bellow::bsearch()
{
AnsiString sql("select 读者号,图书资料.图书编号 as 编号, 图书名,所属书库,借出时间,归还时间,已借数量 from 图书资料,借阅资料");
sql+=" where 图书资料.图书编号=\'";
sql+=this->Edit2->Text+"\' and 读者号=\'";
sql+=this->Edit1->Text+"\'";
try
{
DM->brQuery->Close();
DM->brQuery->SQL->Clear();
DM->brQuery->SQL->Add(sql);
DM->brQuery->ExecSQL();
DM->brQuery->Active=true;
}
catch(Exception &exception)
{
if(MessageBox(NULL,"数据库出现错误!","错误",MB_OK)==IDOK)
{
Edit1->Text="";
Edit1->SetFocus();
}
}
if(DM->tshQuery->RecordCount||DM->dzhQuery->RecordCount)
{
if(DM->brQuery->FieldByName("归还时间")->AsDateTime>TDateTime::CurrentDate())
{
DBEdit1->Text=DateTimeToStr(DM->brQuery->FieldByName("归还时间")->AsDateTime-TDateTime::CurrentDate());
for(int i=0;i<DBGrid1->Columns->Count;i++)
DBGrid1->Columns->Items[i]->Color=clYellow;
}
else
{
DM->brQuery->Insert();
//DM->tshQuery->Insert();
DM->brQuery->FieldByName("读者号")->AsString=Edit1->Text;
DM->brQuery->FieldByName("编号")->AsString=Edit2->Text;
DM->brQuery->FieldByName("图书名")->AsString=DM->tshQuery->FieldByName("图书名")->AsString;
DM->brQuery->FieldByName("所属书库")->AsString=DM->tshQuery->FieldByName("所属书库")->AsString;
DM->brQuery->FieldByName("借出时间")->AsString=DateTimeToStr(TDateTime::CurrentDate());
DM->brQuery->FieldByName("归还时间")->AsDateTime=TDateTime::CurrentDate()+30;
DM->brQuery->FieldByName("已借数量")->AsInteger+=1;
DM->brQuery->Post();
}
}
}
//-------------------------------------------------------------------------------
void __fastcall Tfrm_bellow::post()
{
if(Edit1->Text.IsEmpty())
{
ShowMessage("请输入读者号!");
}
else
{
AnsiString sql;
sql="select * from 借还资料 where 读者号=\'";
sql+=Edit1->Text+"\'";
DM->dzhQuery->Close();
DM->dzhQuery->SQL->Clear();
DM->dzhQuery->SQL->Add(sql);
DM->dzhQuery->ExecSQL();
DM->dzhQuery->Open();
if(DM->dzhQuery->RecordCount)
{
if(DBGrid1->SelectedRows->Count!=0)
{
DM->brQuery->Edit();
DM->brQuery->FieldByName("归还时间")->AsDateTime=DM->brQuery->FieldByName("借出时间")->AsDateTime+60;
DM->brQuery->Post();
}
}
else
{
ShowMessage("对不起,没有这位读者的信息!");
}
}
}
//--------------------------------------------------------------------------------
//-------------------------------------------------------------------------------
void __fastcall Tfrm_bellow::FormClose(TObject *Sender,
TCloseAction &Action)
{
Action=caFree;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_bellow::ToolButton12Click(TObject *Sender)
{
if(Edit1->Text.IsEmpty()||Edit2->Text.IsEmpty())
{
ShowMessage("读者号和图书编号不能为空!");
}
else
{
bsearch();
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -