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

📄 readerqueryu.pas

📁 包含详细的代码设计,实现图书管理系统功能.是一个很好的实例
💻 PAS
字号:
unit ReaderQueryU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Buttons,DB;

type
  TReaderQueryF = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    GroupBox1: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    RadioButton5: TRadioButton;
    GroupBox2: TGroupBox;
    StaticText1: TStaticText;
    Edit1: TEdit;
    BitBtn1: TBitBtn;
    GroupBox3: TGroupBox;
    ListView1: TListView;
    TabSheet2: TTabSheet;
    GroupBox4: TGroupBox;
    StaticText3: TStaticText;
    StaticText2: TStaticText;
    Edit2: TEdit;
    GroupBox5: TGroupBox;
    ListView2: TListView;
    GroupBox6: TGroupBox;
    RadioButton7: TRadioButton;
    RadioButton8: TRadioButton;
    BitBtn4: TBitBtn;
    RadioButton6: TRadioButton;
    BitBtn5: TBitBtn;
    CheckBox1: TCheckBox;
    DateTimePicker1: TDateTimePicker;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure WMNCPaint(var Msg : TWMNCPaint); message WM_NCPAINT;
  public
    { Public declarations }
    QueryStr:string;
  end;

var
  ReaderQueryF: TReaderQueryF;

implementation

uses DataModule, ExportExcelU, BookQueryU,MainU,ShareU;

{$R *.dfm}
procedure TReaderQueryF.WMNCPaint(var Msg: TWMNCPaint);
begin
    inherited;
    draw(ReaderQueryF);
end;
procedure TReaderQueryF.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    ReaderQueryF:=nil;
    action:=cafree;
end;

procedure TReaderQueryF.BitBtn1Click(Sender: TObject);
  procedure ShowData;
  var
    temp:string;
  begin
      dm.ADODataSetReaderQuery.Filtered:=false;
      if radiobutton4.Checked then
      begin
          if trim(edit1.Text)= '男' then
              temp:='0'
          else
              temp:='1';
      end
      else if radiobutton6.Checked then
          temp:=dm.GetReaderEducationID(trim(edit1.Text))
      else if radiobutton5.Checked then
          temp:=dm.GetReaderTypeID(trim(edit1.text))
      else
          temp:=trim(edit1.text);

      if temp<>'' then
        if (checkbox1.Checked) and  not
                            (radiobutton5.Checked or radiobutton6.Checked) then
            dm.ADODataSetReaderQuery.Filter:=QueryStr+ ' like ' +
                                             quotedstr('%'+temp+'%')
        else
          dm.ADODataSetReaderQuery.Filter:=QueryStr+ ' = ' +
                                             quotedstr(temp);

      dm.ADODataSetReaderQuery.Filtered:=true;

      with dm.ADODataSetReaderQuery do
      begin
        First;
        while not Eof do
        begin
          with listview1.Items.Add do
          begin
              caption:=FieldValues['ReaderCardID'];
              subitems.Add(FieldValues['Name']);
              subitems.Add(FieldValues['ID']);
              if FieldValues['Sex']=0 then
                subitems.Add('男')
              else
                subitems.Add('女');

              subitems.Add(dm.GetReaderTypeName(FieldValues['ReaderTypeID']));
              subitems.Add(dm.GetreaderEducationName(FieldValues['educationid']));
          end;
          Next;
        end;
      end;
  end;
begin
    if radiobutton1.Checked then
      QueryStr:='ReaderCardID'
    else if radiobutton2.Checked then
      QueryStr:='Name'
    else if radiobutton3.Checked then
      QueryStr:='ID'
    else if radiobutton4.Checked then
      QueryStr:='Sex'
    else if radiobutton5.Checked then
      QueryStr:='ReaderTypeID'
    else if radiobutton6.Checked then
      QueryStr:='EducationID';
    listview1.Items.Clear;
    dm.ADODataSetReaderQuery.Connection:=dm.ADOConnection1;
    dm.ADODataSetReaderQuery.CommandText:='select ReaderCardid,id,name,sex,'+
                                'educationid,readertypeid from Reader_info ';
    dm.ADODataSetReaderQuery.Open;
    ShowData;
end;
 
procedure TReaderQueryF.BitBtn5Click(Sender: TObject);
begin
      dm.ADODataSetLendBookQuery.Connection:=dm.ADOConnection1;
      dm.ADODataSetLendBookQuery.CommandText:='select * from lend_book';
      dm.ADODataSetLendBookQuery.Open;

    with dm.ADODataSetLendBookQuery do
      begin
        First;
        while not Eof do
        begin
          with listview2.Items.Add do
          begin
              caption:=FieldValues['ReaderCardID'];
              subitems.Add(FieldValues['bookid']);
              subitems.Add(FieldValues['lenddate']);
              subitems.Add(FieldValues['borrowdate']);
              if FieldValues['state'] ='0' then
                subitems.Add('已还')
              else
                subitems.Add('未还');
          end;
          Next;
        end;
      end;
end;

procedure TReaderQueryF.BitBtn2Click(Sender: TObject);
begin
     if tabsheet1.Showing=true then
        ExportExcelListView:=listview1.Name
    else if tabsheet2.Showing=true then
        ExportExcelListView:=listview2.name;
    OpenForm(TExportExcelF,ExportExcelF,ReaderQueryF,true);
end;

procedure TReaderQueryF.BitBtn4Click(Sender: TObject);
begin
    close;
end;

procedure TReaderQueryF.FormCreate(Sender: TObject);
begin
    caption:='读者查询';
    Icon:=mainf.Icon;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -