📄 querybook.pas
字号:
unit querybook;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, ComCtrls, Buttons, jpeg, ExtCtrls;
type
Tquerybookfrm = class(TForm)
Panel1: TPanel;
Image1: TImage;
GroupBox1: TGroupBox;
r1: TRadioButton;
r2: TRadioButton;
r3: TRadioButton;
r4: TRadioButton;
r5: TRadioButton;
c1: TCheckBox;
Label1: TLabel;
e1: TEdit;
b1: TBitBtn;
ListView1: TListView;
b2: TBitBtn;
typee: TComboBox;
q1: TQuery;
procedure b1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure r1Click(Sender: TObject);
procedure r2Click(Sender: TObject);
procedure r3Click(Sender: TObject);
procedure r4Click(Sender: TObject);
procedure r5Click(Sender: TObject);
procedure b2Click(Sender: TObject);
private
{ Private declarations }
procedure bookquery;
procedure setbooksql(var q:Tquery);
procedure setbookparam(var q:Tquery;param:string);
procedure typecheck;
public
{ Public declarations }
end;
var
querybookfrm: Tquerybookfrm;
implementation
uses gl;
{$R *.dfm}
procedure Tquerybookfrm.FormShow(Sender: TObject);
begin
listview1.Items.Clear;
end;
procedure Tquerybookfrm.setbookparam(var q:Tquery;param:string);
begin
if c1.Checked then param:=param+'%';
if r1.Checked then q.ParamByName('no').AsString:=param;
if r2.Checked then q.ParamByName('name').AsString:=param;
if r3.Checked then q.ParamByName('author').AsString:=param;
if r4.Checked then q.ParamByName('publish').AsString:=param;
if r5.Checked then q.ParamByName('typ').AsString:=param;
end;
procedure Tquerybookfrm.setbooksql(var q:Tquery);
begin
q.sql.clear;
if r1.checked then q.sql.add('select * from book_info where 图书编号 like :no');
if r2.checked then q.sql.add('select * from book_info where 书名 like :name');
if r3.checked then q.sql.add('select * from book_info where 作者 like :author');
if r4.checked then q.sql.add('select * from book_info where 出版社 like :publish');
if r5.checked then q.sql.add('select * from book_info where 类别 like :typ');
end;
procedure Tquerybookfrm.bookquery;
begin
listview1.Items.Clear;
setbooksql(q1);
if r5.Checked then
setbookparam(q1,typee.Items[typee.ItemIndex])
else
setbookparam(q1,e1.Text);
q1.Open;
while not q1.Eof do
begin
with listview1.Items.Add do
begin
caption:=q1.fieldbyname('图书编号').AsString;
subitems.add(q1.fieldbyname('书名').AsString);
subitems.add(q1.fieldbyname('作者').AsString);
subitems.add(q1.fieldbyname('出版社').AsString);
subitems.add(q1.fieldbyname('出版时间').AsString);
subitems.add(q1.fieldbyname('书价').AsString);
subitems.add(q1.fieldbyname('借阅次数').AsString);
if gf.isborrowed(caption)then subitems.add('是') else subitems.add('否');
end;
q1.Next;
end;
q1.close;
end;
procedure Tquerybookfrm.typecheck;
begin
e1.Clear;
listview1.Items.Clear;
if r5.Checked then
begin
typee.Left:=e1.Left;
typee.Top:=e1.Top;
typee.Width:=e1.Width;
typee.Height:=e1.Height;
typee.Visible:=true;
e1.Visible:=false;
end
else
if e1.Visible=false then
begin
e1.Left :=typee.Left;
e1.Top:=typee.Top;
e1.Width:=typee.Width;
e1.Height:=typee.Height;
e1.Visible:=true;
typee.Visible:=false;
end;
end;
procedure Tquerybookfrm.r1Click(Sender: TObject);
begin
typecheck ;
end;
procedure Tquerybookfrm.r2Click(Sender: TObject);
begin
typecheck ;
end;
procedure Tquerybookfrm.r3Click(Sender: TObject);
begin
typecheck ;
end;
procedure Tquerybookfrm.r4Click(Sender: TObject);
begin
typecheck ;
end;
procedure Tquerybookfrm.r5Click(Sender: TObject);
begin
typecheck ;
end;
procedure Tquerybookfrm.b1Click(Sender: TObject);
begin
//try
bookquery;
// except
// Messagedlg('查询失败',mterror,[mbok],0);
//end;
end;
procedure Tquerybookfrm.b2Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -