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

📄 unit6.pas

📁 实现图书馆数据库管理功能
💻 PAS
字号:
unit Unit6;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls, ComCtrls, Menus,  ImgList,
  Grids, DBGrids, Buttons, ToolWin, ADODB, DB;

type
  Tshukuguanli = class(TForm)
    ImageList1: TImageList;
    DBGrid1: TDBGrid;
    RadioGroup1: TRadioGroup;
    GroupBox1: TGroupBox;
    CheckBox1: TCheckBox;
    CheckBox3: TCheckBox;
    ToolBar1: TToolBar;
    SpeedButton6: TSpeedButton;
    ToolButton1: TToolButton;
    SpeedButton7: TSpeedButton;
    ToolButton2: TToolButton;
    SpeedButton8: TSpeedButton;
    ToolButton3: TToolButton;
    SpeedButton9: TSpeedButton;
    ToolButton4: TToolButton;
    SpeedButton11: TSpeedButton;
    CheckBox4: TCheckBox;
    Edit1: TEdit;
    Edit2: TEdit;
    SpeedButton1: TSpeedButton;
    ToolButton5: TToolButton;
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    ADOCommand1: TADOCommand;
    DataSource1: TDataSource;
    ADOTable2: TADOTable;
    DataSource2: TDataSource;
    PopupMenu1: TPopupMenu;
    adotable3:tadotable;
    d1: TMenuItem;
    N4: TMenuItem;
    d4: TMenuItem;
    N3: TMenuItem;
    N1: TMenuItem;
    N2: TMenuItem;
    ADODataSet1: TADODataSet;
    Image_title: TImage;
    Image_close: TImage;
    Image1: TImage;
    Label1: TLabel;
    Image2: TImage;

    
    procedure d1Click(Sender: TObject);
     procedure FormCreate(Sender: TObject);

   procedure wmgetminmaxinfo(var message:twmgetminmaxinfo);
    message wm_getminmaxinfo;
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
    procedure SpeedButton11Click(Sender: TObject);
    procedure Image_closeClick(Sender: TObject);
   
  private
  FHandle: HWnd;
    { Private declarations }
    originalpos:tpoint;
    currentpos:tpoint;
    downpos:tpoint;
    mouselbuttondown:boolean;
    originalwid,originalhei:integer;
    flag:string;
    flag_normal:boolean;
     public
    { Public declarations }
  end;

var
  shukuguanli: Tshukuguanli;


implementation

uses Unit9, Unit10;

{$R *.dfm}



procedure Tshukuguanli.FormCreate(Sender: TObject);
var st0:string;
begin
flag_normal:=true;
mouselbuttondown:=false;
popupmenu1.Items[3].Enabled:=true;
st0:= 'select * from 书库管理 order by 书籍编号';
adodataset1.CommandText:=st0;
adodataset1.Active:=true;


end;






procedure Tshukuguanli.d1Click(Sender: TObject);
begin
self.WindowState:=wsnormal;
flag_normal:=true;
popupmenu1.Items[0].Enabled:=false;
popupmenu1.Items[3].Enabled:=true;

end;

procedure tshukuguanli.wmgetminmaxinfo(var message:twmgetminmaxinfo);
var f:integer;
begin
with message.MinMaxInfo^ do
begin
f:=GetSystemMetrics(SM_CYSCREEN);
ptmaxsize.y:=f-28;
ptmaxposition.x:=0;
ptmaxposition.Y:=0;
end;
message.Result:=0;
inherited;
end;

procedure Tshukuguanli.SpeedButton6Click(Sender: TObject);
begin

adotable2.Open;
while not adotable2.Eof do
begin
book_add.ComboBox2.Items.Add(adotable2.FieldValues['图书类别']);
adotable2.Next;
end;
book_add.ComboBox2.ItemIndex:=1;
adotable2.Close;
book_add.showmodal;
end;

procedure Tshukuguanli.SpeedButton7Click(Sender: TObject);
var e1,e2,st1,st2,et1,et2:string;
begin
if not checkbox1.Checked and not checkbox4.Checked then
  begin
    messagedlg('请选择查询项',mtwarning,[mbok],0);
    exit;
  end;
radiogroup1.Enabled:=false;
e1:=edit1.text;
e2:=edit2.text;
if checkbox3.Checked then
  begin
    et1:='%'+trim(edit1.Text)+'%';
    et2:='%'+trim(edit2.Text)+'%';
  end
else
  begin
    et1:=e1;
    et2:=e2;
  end;

  if checkbox1.Checked and checkbox4.Checked  then
     if checkbox3.Checked then
       st2:=' 书籍编号 like '+''''+et1+''''+' and 书籍名称 like '+''''+et2+''''
     else
       st2:=' 书籍编号='''+et1+''' and 书籍名称='''+et2+''''
  else
     if checkbox1.Checked then
       begin
         if checkbox3.Checked then
           st2:=' 书籍编号 like '+''''+et1+''''
         else
           st2:=' 书籍编号='''+et1+''''
        end
     else
        if checkbox4.Checked then
          if checkbox3.Checked then
            st2:=' 书籍名称 like '+''''+et2+''''
          else
            st2:=' 书籍名称='''+et2+'''' ;




st1:='select * from 书库管理 where'+st2;
adodataset1.Active:=false;
adodataset1.CommandText:=st1;
adodataset1.Active:=true;

begin
adotable2.Open;
while not adotable2.Eof do
begin
book_change.ComboBox1.Items.Add(adotable2.FieldValues['图书类别']);
adotable2.Next;
end;
book_change.ComboBox1.ItemIndex:=1;
adotable2.Close;
book_change.Edit1.Text:=adodataset1.fieldbyname('书籍编号').asstring;
book_change.Edit1.ReadOnly:=true;
book_change.Edit2.Text:=adodataset1.fieldbyname('书籍名称').AsString;
book_change.Edit3.Text:=adodataset1.fieldbyname('索书号').AsString;
book_change.Edit5.Text:=adodataset1.fieldbyname('出版社').AsString;
book_change.Edit6.Text:=adodataset1.fieldbyname('作者名称').AsString;
book_change.Edit7.Text:=adodataset1.fieldbyname('书籍价格').value;
book_change.maskEdit1.Text:=adodataset1.fieldbyname('书籍页码').Value;
book_change.datetimepicker1.Date:=adodataset1.fieldbyname('登记日期').AsDateTime;
book_change.maskEdit2.Text:=adodataset1.fieldbyname('总库存量').Value;
book_change.Memo1.Text:=adodataset1.fieldbyname('备注').AsString;
book_change.showmodal;
book_change.Free;



end;
end;

procedure Tshukuguanli.RadioGroup1Click(Sender: TObject);
var st,st1:string;
begin
case radiogroup1.itemindex of
    0:st:='select * from 书库管理 order by 书籍编号';
    1:st:='select * from 书库管理 order by 书籍名称';
    2:st:='select * from 书库管理 order by 类别代码';
end;
adodataset1.Active:=false;
adodataset1.CommandText:=st;
adodataset1.Active:=true;
//adocommand1.Execute;




end;

procedure Tshukuguanli.SpeedButton9Click(Sender: TObject);
var st0:string;
begin

st0:= 'select * from 书库管理 order by 书籍编号';
adodataset1.Active:=false;
adodataset1.CommandText:=st0;
adodataset1.Active:=true;
radiogroup1.ItemIndex:=0;
radiogroup1.Enabled:=true;
end;

procedure Tshukuguanli.SpeedButton1Click(Sender: TObject);
var e1,e2,st1,st2,et1,et2:string;
begin
if not checkbox1.Checked and not checkbox4.Checked then
  begin
    messagedlg('请选择查询项',mtwarning,[mbok],0);
    exit;
  end;
radiogroup1.Enabled:=false;
e1:=edit1.text;
e2:=edit2.text;
if checkbox3.Checked then
  begin
    et1:='%'+trim(edit1.Text)+'%';
    et2:='%'+trim(edit2.Text)+'%';
  end
else
  begin
    et1:=e1;
    et2:=e2;
  end;

  if checkbox1.Checked and checkbox4.Checked  then
     if checkbox3.Checked then
       st2:=' 书籍编号 like '+''''+et1+''''+' and 书籍名称 like '+''''+et2+''''
     else
       st2:=' 书籍编号='''+et1+''' and 书籍名称='''+et2+''''
  else
     if checkbox1.Checked then
       begin
         if checkbox3.Checked then
           st2:=' 书籍编号 like '+''''+et1+''''
         else
           st2:=' 书籍编号='''+et1+''''
        end
     else
        if checkbox4.Checked then
          if checkbox3.Checked then
            st2:=' 书籍名称 like '+''''+et2+''''
          else
            st2:=' 书籍名称='''+et2+'''' ;




st1:='select * from 书库管理 where'+st2;
adodataset1.Active:=false;
adodataset1.CommandText:=st1;
adodataset1.Active:=true;



end;



procedure Tshukuguanli.SpeedButton8Click(Sender: TObject);
var s1,s2,s3:string;
begin
s1:=adodataset1.fieldbyname('书籍编号').AsString;
s2:=adodataset1.fieldbyname('书籍名称').AsString;
s3:='您确实要删除编号为 '+s1+' 书籍《'+s2+'》吗?';
 if messagedlg(s3,mtconfirmation,[mbok,mbcancel],0)=mrok then
    adodataset1.Delete
  else
    exit
end;

procedure Tshukuguanli.SpeedButton11Click(Sender: TObject);
begin
close;
end;

procedure Tshukuguanli.Image_closeClick(Sender: TObject);
begin
close;
end;

end.

⌨️ 快捷键说明

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