bookbackf.pas
来自「图书管理系统:包括借书、还书、查询、添加、统计等功能。」· PAS 代码 · 共 118 行
PAS
118 行
unit bookbackF;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, DB, ImgList, Grids, DBGrids, ComCtrls,
ToolWin, StdCtrls, Buttons, ExtCtrls, inheritF;
type
Tbookback = class(Tinherit)
ADOQuery2: TADOQuery;
ADOCommand1: TADOCommand;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure Button1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
bookback: Tbookback;
implementation
{$R *.dfm}
uses dataconnect;
procedure Tbookback.FormShow(Sender: TObject);
begin
inherited;
adotable1.Clone(adoquery2,ltunspecified);
end;
//查询未归还的书的信息
procedure Tbookback.BitBtn1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select a.*,b.*,c.* from 图书借阅 a,图书信息 b,读者信息 c');
adoquery1.SQL.Add('where (a.图书编号=b.图书编号)and(a.读者编号=c.编号)and(状态=''未还'')');
adoquery1.SQL.Add('and(c.编号 like ''%'+edit1.Text+'%'')');
adoquery1.SQL.Add('and(a.图书编号 like ''%'+edit2.Text+'%'')');
adoquery1.SQL.Add('and(c.姓名 like ''%'+edit3.Text+'%'')');
adoquery1.Open;
//将查询得到的数据复制到数据表中
adotable1.Clone(adoquery1,ltUnspecified);
end;
//图书归还
procedure Tbookback.BitBtn2Click(Sender: TObject);
var
returndate:TDateTime;
money:double;
fine,num:string;
begin
inherited;
returndate:=adotable1.FieldByName('应还时间').AsDateTime;
num:=adotable1.FieldByName('借阅编号').AsString;
//搜索数据库中有无此书
if num='' then showmessage('已无此书');
if (date+time-returndate)>0 then
begin
//超期图书按每天0.1元交纳罚金
money:=0.1*(date-returndate);
fine:= InputBox('该书已经过期,需交纳罚金', '应交纳的罚金', floattostr(money));
adocommand1.CommandText:='exec sf_图书归还 '+num+','+fine;
end
else
adocommand1.CommandText:='exec sf_图书归还 '+num+',0';
adocommand1.Execute;
//更新数据库
adoquery2.Active:=false;
adoquery2.Active:=true;
adotable1.Clone(adoquery2,ltunspecified);
end;
//设置各表格的长宽
procedure Tbookback.DataSource1DataChange(Sender: TObject; Field: TField);
begin
inherited;
dbgrid1.Columns[0].Width:=64;
dbgrid1.Columns[1].Width:=64;
dbgrid1.Columns[2].Width:=166;
dbgrid1.Columns[3].Width:=80;
dbgrid1.Columns[4].Width:=64;
dbgrid1.Columns[5].Width:=64;
dbgrid1.Columns[6].Width:=64;
dbgrid1.Columns[7].Width:=64;
dbgrid1.Columns[8].Width:=48;
dbgrid1.Columns[9].Width:=48;
end;
procedure Tbookback.Button1Click(Sender: TObject);
begin
inherited;
close;
end;
procedure Tbookback.BitBtn3Click(Sender: TObject);
begin
inherited;
close;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?