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

📄 kucun_chaxun.pas

📁 一个详实的图书信息管理系统
💻 PAS
字号:
unit KuCun_chaxun;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Grids, DBGrids, DB, ADODB;

type
  Tkucun_chaxun_form = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    DBGrid1: TDBGrid;
    BitBtn2: TBitBtn;
    ADOConnection1: TADOConnection;
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    ComboBox1: TComboBox;
    ADOTable1: TADOTable;
    BitBtn1: TBitBtn;
    procedure BitBtn2Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure RadioButton4Click(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure ComboBox1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure initdbgrid();
  end;

var
  kucun_chaxun_form: Tkucun_chaxun_form;
  case_flag:integer;
implementation

{$R *.dfm}
  uses checkuser;




procedure Tkucun_chaxun_form.initdbgrid();
begin
    dbgrid1.Columns[0].Width:=120;
    dbgrid1.Columns[1].Width:=120;
    dbgrid1.Columns[2].Width:=80;
    dbgrid1.Columns[3].Width:=140;
    dbgrid1.Columns[4].Width:=80;
    dbgrid1.Columns[5].Width:=140;
    dbgrid1.Columns[6].Width:=80;
    dbgrid1.Columns[7].Width:=80;
    dbgrid1.Columns[8].Width:=80;
    dbgrid1.Columns[9].Width:=80;
    dbgrid1.Columns[10].Width:=80;
    dbgrid1.Columns[11].Width:=100;
    dbgrid1.Columns[12].Width:=60;
    dbgrid1.Columns[13].Width:=100;
    dbgrid1.Columns[14].Width:=40;

end;

procedure Tkucun_chaxun_form.BitBtn2Click(Sender: TObject);
begin
   close;
end;

procedure Tkucun_chaxun_form.FormActivate(Sender: TObject);
begin
   edit1.Text:='';
   edit2.Text:='0种';
   edit3.Text:='';

//-----------------一定要先连接数据库---------------------
    ADOConnection1:=CheckUserForm.ADOConnection1;
    dbgrid1.DataSource:=DataSource1;
    adotable1.Connection:=ADOConnection1;
    DataSource1.DataSet:=adoDataSet1;
    adoDataSet1.Connection:=ADOConnection1;
    adoDataSet1.Close;
    adoDataSet1.CommandType:=cmdtext;
    adoDataSet1.CommandText:='select sum(教材数量) from 教材表';
    adoDataSet1.Open;

    if adoDataSet1.Fields[0].Value <> NULL then
    begin
    edit3.Text:=currtostr(adoDataSet1.Fields[0].Value)+'册';

    adoDataSet1.Close;
    adoDataSet1.CommandType:=cmdtext;
    adoDataSet1.CommandText:='select * from 教材表';
    adoDataSet1.Open;
    edit2.Text:='共有'+inttostr(adoDataSet1.Recordset.RecordCount)+'种图书';
    case_flag:=1;
    radiobutton1.Checked:=true;
    edit1.Width:=145;
    dbgrid1.ReadOnly:=true;
    initdbgrid;
    end else
     bitbtn1.Enabled:=false;
end;

procedure Tkucun_chaxun_form.RadioButton1Click(Sender: TObject);
begin

    if RadioButton1.Checked then
           begin

                case_flag:=1;   //按教材名查询
                edit1.Text:='';
                combobox1.Items.Clear;
                label1.Caption:='查询条件';
                label1.Width:=88;
                combobox1.Visible:=false;
                combobox1.Enabled:=false;
           end;
end;

procedure Tkucun_chaxun_form.RadioButton2Click(Sender: TObject);
begin
    if RadioButton2.Checked then
           begin

                case_flag:=2;  //按作者查询
                edit1.Text:='';
                combobox1.Items.Clear;
                label1.Caption:='查询条件';
                label1.Width:=88;
                combobox1.Visible:=false;
                combobox1.Enabled:=false;
           end;

end;

procedure Tkucun_chaxun_form.RadioButton3Click(Sender: TObject);
begin
   if RadioButton3.Checked then
           begin

                case_flag:=3;  //按出版社查询
                edit1.Text:='';
                combobox1.Items.Clear;
                label1.Caption:='查询条件';
                label1.Width:=88;
                combobox1.Visible:=false;
                combobox1.Enabled:=false;
           end;

end;

procedure Tkucun_chaxun_form.RadioButton4Click(Sender: TObject);
begin
    if RadioButton4.Checked then
           begin
                  //case_flag:=4;  //按订书单位查询
                  edit1.Text:='';
                  combobox1.Enabled:=true;
                  combobox1.Items.Clear;
                  adotable1.Close;
                  adotable1.TableName:='单位信息表';
                  adotable1.Active:=true;
                  while not adotable1.Eof do
                     begin
                        combobox1.Items.Add(adotable1.fieldbyname('单位名').AsString);
                        adotable1.Next;
                     end;

                  label1.Caption:='选择单位';
                  label1.Width:=88;
                  combobox1.Visible:=true;

           end;
end;

procedure Tkucun_chaxun_form.Edit1Exit(Sender: TObject);
begin
 if edit1.Text<>'' then
  begin
   edit1.Text:=(edit1.Text);
   label2.Caption:='查到图书:   ';
   case case_flag of
        1: //---------------------按教材名查询--------------
             begin
              adoDataSet1.Close;
              adoDataSet1.CommandType:=cmdtext;
              adoDataSet1.CommandText:='select sum(教材数量) from 教材表 where 教材名=:name';
              adoDataSet1.Parameters.Clear;
              adoDataSet1.Parameters.AddParameter;
              adoDataSet1.Parameters[0].Name:='name';
              adoDataSet1.Parameters[0].DataType:=ftstring;
              adoDataSet1.Parameters[0].Direction:=pdinput;
              adoDataSet1.Parameters[0].Value:=edit1.Text;

              adoDataSet1.Open;

              if adoDataSet1.Fields[0].Value <> NULL then
              begin
              edit3.Text:=currtostr(adoDataSet1.Fields[0].Value)+'册';
              adoDataSet1.Close;
              adoDataSet1.CommandText:='select * from 教材表 where 教材名=:name';
              adoDataSet1.Parameters.Clear;
              adoDataSet1.Parameters.AddParameter;
              adoDataSet1.Parameters[0].Name:='name';
              adoDataSet1.Parameters[0].DataType:=ftstring;
              adoDataSet1.Parameters[0].Direction:=pdinput;
              adoDataSet1.Parameters[0].Value:=edit1.Text;
              adoDataSet1.Open;
              edit2.Text:=inttostr(adoDataSet1.Recordset.RecordCount)+'种';

              initdbgrid;
              end else
                  begin
                  edit2.Text:='无';
                  edit3.Text:='0 册';
                  end;
             end;
        2: //---------------------按作者查询----------------
             begin
              adoDataSet1.Close;
              adoDataSet1.CommandType:=cmdtext;
              adoDataSet1.CommandText:='select sum(教材数量) from 教材表 where 作者=:name';
              adoDataSet1.Parameters.Clear;
              adoDataSet1.Parameters.AddParameter;
              adoDataSet1.Parameters[0].Name:='name';
              adoDataSet1.Parameters[0].DataType:=ftstring;
              adoDataSet1.Parameters[0].Direction:=pdinput;
              adoDataSet1.Parameters[0].Value:=edit1.Text;
              adoDataSet1.Open;

              if adoDataSet1.Fields[0].Value <> NULL then
               begin
              edit3.Text:=currtostr(adoDataSet1.Fields[0].Value)+'册';
              adoDataSet1.Close;
              adoDataSet1.CommandText:='select * from 教材表 where 作者=:name';
              adoDataSet1.Parameters.Clear;
              adoDataSet1.Parameters.AddParameter;
              adoDataSet1.Parameters[0].Name:='name';
              adoDataSet1.Parameters[0].DataType:=ftstring;
              adoDataSet1.Parameters[0].Direction:=pdinput;
              adoDataSet1.Parameters[0].Value:=edit1.Text;
              adoDataSet1.Open;
              edit2.Text:=inttostr(adoDataSet1.Recordset.RecordCount)+'种';
              initdbgrid;
              end else
                  begin
                  edit2.Text:='无';
                  edit3.Text:='0 册';
                  end;

             end;
        3: //---------------------按出版社查询--------------
             begin
              adoDataSet1.Close;
              adoDataSet1.CommandType:=cmdtext;
              adoDataSet1.CommandText:='select sum(教材数量) from 教材表 where 出版社=:name';
              adoDataSet1.Parameters.Clear;
              adoDataSet1.Parameters.AddParameter;
              adoDataSet1.Parameters[0].Name:='name';
              adoDataSet1.Parameters[0].DataType:=ftstring;
              adoDataSet1.Parameters[0].Direction:=pdinput;
              adoDataSet1.Parameters[0].Value:=edit1.Text;
              adoDataSet1.Open;

               if adoDataSet1.Fields[0].Value <> NULL then
              begin
              edit3.Text:=currtostr(adoDataSet1.Fields[0].Value)+'册';
              adoDataSet1.Close;
              adoDataSet1.CommandText:='select * from 教材表 where 出版社=:name';
              adoDataSet1.Parameters.Clear;
              adoDataSet1.Parameters.AddParameter;
              adoDataSet1.Parameters[0].Name:='name';
              adoDataSet1.Parameters[0].DataType:=ftstring;
              adoDataSet1.Parameters[0].Direction:=pdinput;
              adoDataSet1.Parameters[0].Value:=edit1.Text;
              adoDataSet1.Open;
              edit2.Text:=inttostr(adoDataSet1.Recordset.RecordCount)+'种';
              initdbgrid;
              end else
                  begin
                  edit2.Text:='无';
                  edit3.Text:='0 册';
                  end;

             end;

   end;
   end;
end;

procedure Tkucun_chaxun_form.ComboBox1Click(Sender: TObject);
begin
 //--------------------按订书单位查询-------------
              adoDataSet1.Close;
              adoDataSet1.CommandType:=cmdtext;
              adoDataSet1.CommandText:='select sum(教材数量) from 教材表 where 订书单位=:name';
              adoDataSet1.Parameters.Clear;
              adoDataSet1.Parameters.AddParameter;
              adoDataSet1.Parameters[0].Name:='name';
              adoDataSet1.Parameters[0].DataType:=ftstring;
              adoDataSet1.Parameters[0].Direction:=pdinput;
              adoDataSet1.Parameters[0].Value:=combobox1.Text;

              adoDataSet1.Open;
              if adoDataSet1.Recordset.RecordCount<=0 then
                   bitbtn1.Enabled:=false
              else
                bitbtn1.Enabled:=true;

              if adoDataSet1.Fields[0].Value <> NULL then
              begin
              edit3.Text:=currtostr(adoDataSet1.Fields[0].Value)+'册';
              adoDataSet1.Close;
              adoDataSet1.CommandText:='select * from 教材表 where 订书单位=:name';
              adoDataSet1.Parameters.Clear;
              adoDataSet1.Parameters.AddParameter;
              adoDataSet1.Parameters[0].Name:='name';
              adoDataSet1.Parameters[0].DataType:=ftstring;
              adoDataSet1.Parameters[0].Direction:=pdinput;
              adoDataSet1.Parameters[0].Value:=combobox1.Text;
              adoDataSet1.Open;
              edit2.Text:=inttostr(adoDataSet1.Recordset.RecordCount)+'种';
              initdbgrid;
              end else
                  begin
                  edit2.Text:='无';
                  edit3.Text:='0 册';
                  end;
end;

procedure Tkucun_chaxun_form.BitBtn1Click(Sender: TObject);
begin
  if adoDataSet1.Recordset.RecordCount>0 then
       adoDataSet1.Delete;
end;

end.

⌨️ 快捷键说明

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