📄 mgrquery.pas
字号:
unit mgrquery;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, ExtCtrls,dbtables;
type
Tmgrqfrm = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
BitBtn1: TBitBtn;
ListView1: TListView;
Label1: TLabel;
Label2: TLabel;
fspdbtn1: TSpeedButton;
fspdbtn2: TSpeedButton;
fspdbtn3: TSpeedButton;
procedure fspdbtn1Click(Sender: TObject);
procedure fspdbtn2Click(Sender: TObject);
procedure fspdbtn3Click(Sender: TObject);
procedure ListView1DblClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
function isextime(b_no:string):boolean;
procedure querybookinfo(flg:integer);
{ Private declarations }
public
{ Public declarations }
end;
var
mgrqfrm: Tmgrqfrm;
implementation
uses global,owner;
{$R *.dfm}
function tmgrqfrm.isextime(b_no:string):boolean;
var t:ttable;
begin
t:=ttable.Create(nil);
t.DatabaseName:=dbname;
t.TableName:='borrow_info.db';
t.Open;
t.SetKey;
t.FieldByName('图书编号').AsString:=b_no;
t.GotoKey;
if t.FieldByName('借出时间').AsDateTime+p_days<date then result:=true
else
result:=false;
t.Close;
t.Free;
end;
procedure tmgrqfrm.querybookinfo(flg:integer);
var
q:tquery;
t:ttable;
begin
q:=tquery.Create(nil);
q.DatabaseName:=dbname;
t:=ttable.Create(nil);
t.DatabaseName:=dbname;
t.TableName:='borrow_info.db';
case flg of
1:q.SQL.Add('select * from book_info where 图书编号 in '+' (select 图书编号 from borrow_info)');
2:q.SQL.Add('select * from book_info where 图书编号 not in '+' (select 图书编号 from borrow_info)');
3:begin
q.SQL.Add('select * from book_info where 图书编号 in '+' (select 图书编号 from borrow_info where 借出时间<:tt)');
q.ParamByName('tt').AsDate:=date-p_days;
end;
end;
q.Open;
listview1.Items.Clear;
while not q.Eof do
begin
with listview1.Items.Add do
begin
caption:=q.fieldbyname('图书编号').asstring;
subitems.Add(q.fieldbyname('书名').AsString);
subitems.Add(q.fieldbyname('类别').AsString);
subitems.Add(q.fieldbyname('作者').AsString);
subitems.Add(q.fieldbyname('出版社').AsString);
subitems.Add(q.fieldbyname('出版时间').AsString);
subitems.Add(q.fieldbyname('入库时间').AsString);
case flg of
1:begin
subitems.Add('是');
t.Open;
t.SetKey;
t.FieldByName('图书编号').AsString:=caption;
t.GotoKey;
subitems.Add(t.fieldbyname('借出时间').AsString);
subitems.Add(t.fieldbyname('学生证号').AsString);
if isextime(caption) then subitems.Add('是') else subitems.Add('否');
end;
2:subitems.Add('否');
3:begin
subitems.Add('是');
t.Open;
t.SetKey;
t.FieldByName('图书编号').AsString:=caption;
t.GotoKey;
subitems.Add(t.fieldbyname('借出时间').AsString);
subitems.Add(t.fieldbyname('学生证号').AsString);
subitems.Add('是');
end;
end;
end;
q.Next;
end;
label1.Caption:='共'+inttostr(listview1.Items.Count)+'条记录';
t.Close;
t.Free;
q.Close;
q.Free;
end;
procedure Tmgrqfrm.fspdbtn1Click(Sender: TObject);
begin
if fspdbtn1.Down then querybookinfo(1);
end;
procedure Tmgrqfrm.fspdbtn2Click(Sender: TObject);
begin
if fspdbtn2.Down then querybookinfo(2);
end;
procedure Tmgrqfrm.fspdbtn3Click(Sender: TObject);
begin
if fspdbtn3.Down then querybookinfo(3);
end;
procedure Tmgrqfrm.ListView1DblClick(Sender: TObject);
begin
if (listview1.Selected<>nil) and (listview1.Selected.SubItems.Count=10) then
begin
ownerfrm.addinfo(listview1.Selected.Caption,listview1.Selected.SubItems[8]);
ownerfrm.ShowModal;
end;
end;
procedure Tmgrqfrm.BitBtn1Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -