⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 querybook.pas

📁 蛮不错的图书管理系统,大家可以载着试试看啊
💻 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 + -