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

📄 unitbook.pas

📁 一个图书管理系统
💻 PAS
字号:
unit Unitbook;

interface

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

type
  TUnitBookForm = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    ComboBox1: TComboBox;
    Label2: TLabel;
    Edit1: TEdit;
    Label3: TLabel;
    Edit2: TEdit;
    Label4: TLabel;
    Edit3: TEdit;
    GroupBox2: TGroupBox;
    Label5: TLabel;
    Edit4: TEdit;
    Label6: TLabel;
    Edit5: TEdit;
    DBGrid1: TDBGrid;
    Label7: TLabel;
    Edit6: TEdit;
    Label8: TLabel;
    Edit7: TEdit;
    Label9: TLabel;
    Edit8: TEdit;
    Label10: TLabel;
    Edit9: TEdit;
    Label11: TLabel;
    Edit10: TEdit;
    Label12: TLabel;
    Edit11: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ADOConnection1: TADOConnection;
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    procedure BitBtn2Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure ComboBox1Click(Sender: TObject);
    procedure Edit4Exit(Sender: TObject);
    procedure ADODataSet1AfterScroll(DataSet: TDataSet);
    procedure Edit7Exit(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure initiate;
  end;

var
  UnitBookForm: TUnitBookForm;

implementation
  uses main;
{$R *.dfm}

procedure TUnitBookForm.BitBtn2Click(Sender: TObject);
begin
    close;
end;
procedure TUnitBookForm.initiate;
begin
    combobox1.text:='';
    edit1.text:='0';
    edit1.Enabled:=false;
    edit1.TabStop:=false;
    edit1.readonly:=true;
    edit2.text:='';
    edit2.Enabled:=false;
    edit2.TabStop:=false;
    edit2.readonly:=true;
    edit3.text:='';
    edit3.Enabled:=false;
    edit3.TabStop:=false;
    edit3.readonly:=true;
    edit4.text:='';
    edit5.text:='';
    edit5.Enabled:=false;
    edit5.TabStop:=false;
    edit5.readonly:=true;
    edit6.text:='0';
    edit6.Enabled:=false;
    edit6.TabStop:=false;
    edit6.readonly:=true;
    edit7.text:='0';
    edit8.text:='0';
    edit8.Enabled:=false;
    edit8.TabStop:=false;
    edit8.readonly:=true;
    edit9.text:='0';
    edit10.text:='';
    edit11.text:='';
    combobox1.setfocus;
end;
procedure TUnitBookForm.FormActivate(Sender: TObject);
var
    adotable1:Tadotable;
begin
    initiate;
    dbgrid1.DataSource:=datasource1;
    dbgrid1.ReadOnly:=true;
    datasource1.DataSet:=adodataset1;
    adodataset1.Connection:=adoconnection1;
    adodataset1.Close;
    adotable1:=TAdotable.Create(self);
    adotable1.Connection:=adoconnection1;
    adotable1.TableName:='单位信息表';
    adotable1.open;
    combobox1.Items.Clear;
    while not adotable1.Eof do
    begin
        combobox1.Items.Add(adotable1.fieldbyname('单位名').asstring);
        adotable1.Next;
    end;
    adotable1.close;
end;

procedure TUnitBookForm.ComboBox1Click(Sender: TObject);
var
    adodataset:Tadodataset;
begin
    adodataset:=Tadodataset.Create(self);
    adodataset.Connection:=adoconnection1;
    adodataset.CommandType:=cmdtext;
    adodataset.Close;
    adodataset.CommandText:='select * from 单位信息表 where 单位名=:s0';
    adodataset.Parameters.clear;
    adodataset.Parameters.AddParameter;
    adodataset.Parameters[0].name:='s0';
    adodataset.Parameters[0].DataType:=ftstring;
    adodataset.Parameters[0].Direction:=pdinput;
    adodataset.Parameters[0].Value:=combobox1.text;
    adodataset.open;
    edit1.text:=FloatToStr(adodataset.fieldbyname('书费').ascurrency);
    edit2.text:=adodataset.fieldbyname('负责人').asstring;
    edit3.text:=adodataset.fieldbyname('联系电话').asstring;
    adodataset.close;
end;

procedure TUnitBookForm.Edit4Exit(Sender: TObject);
begin
    adodataset1.Close;
    adodataset1.CommandText:='select * from 教材表 where 教材名=:s0';
    adodataset1.Parameters.clear;
    adodataset1.Parameters.AddParameter;
    adodataset1.Parameters[0].Name:='s0';
    adodataset1.Parameters[0].DataType:=ftstring;
    adodataset1.Parameters[0].Direction:=pdinput;
    adodataset1.Parameters[0].Value:=edit4.text;
    adodataset1.Open;
end;

procedure TUnitBookForm.ADODataSet1AfterScroll(DataSet: TDataSet);
begin
    edit5.text:=adodataset1.fieldbyname('出版社').asstring;
    edit6.text:=Inttostr(adodataset1.fieldbyname('教材数量').asinteger);
    edit8.text:=floattostr(adodataset1.fieldbyname('教材单价').ascurrency);
end;

procedure TUnitBookForm.Edit7Exit(Sender: TObject);
begin
    if StrToInt(Edit7.text)>StrToInt(Edit6.text) then
    begin
        Application.MessageBox('目前书库该书的数量不够,请检查!','提示信息',mb_ok);
        edit7.SetFocus;
    end
    else
        edit9.text:=FloatToStr(StrToInt(Edit7.Text)*StrToFloat(Edit8.text));
end;

procedure TUnitBookForm.BitBtn1Click(Sender: TObject);
var
    adoquery1:TAdoQuery;
    adotable1:Tadotable;
begin
    adoquery1:=TAdoQuery.Create(self);
    adoquery1.Connection:=adoconnection1;
    adoquery1.close;
    adoquery1.SQL.add('update 单位信息表 set 书费=:s0 where 班级名=:s1');
    adoquery1.Parameters.Clear;
    adoquery1.Parameters.AddParameter;
    adoquery1.Parameters[0].name:='s0';
    adoquery1.Parameters[0].DataType:=ftcurrency;
    adoquery1.Parameters[0].Direction:=pdinput;
    adoquery1.Parameters[0].Value:=strToFloat(Edit1.Text)-StrToFloat(Edit9.text);
    adoquery1.Parameters.AddParameter;
    adoquery1.Parameters[1].name:='s1';
    adoquery1.Parameters[1].DataType:=ftstring;
    adoquery1.Parameters[1].Direction:=pdinput;
    adoquery1.Parameters[1].Value:=combobox1.text;
    adoquery1.Prepared;
    adoquery1.ExecSQL;
    adoquery1.close;
    adotable1:=TAdoTable.Create(self);
    adotable1.Connection:=adoconnection1;
    adotable1.Close;
    adotable1.TableName:='学生书费历史库';
    adotable1.open;
    adotable1.AppendRecord([combobox1.text,StrToFloat(Edit1.text),StrToFloat(Edit9.text),StrToFloat(Edit1.text)-StrToFloat(Edit9.text),Edit10.text,username,date(),Edit11.text]);
    adotable1.close;
    adoquery1.close;
    adoquery1.SQL.Clear;
    adoquery1.sql.add('update 教材表 set 教材数量=:s0,最后修改时间=Date() where 教材名=:s1');
    adoquery1.Parameters.Clear;
    adoquery1.Parameters.AddParameter;
    adoquery1.Parameters[0].name:='s0';
    adoquery1.Parameters[0].DataType:=ftinteger;
    adoquery1.Parameters[0].Direction:=pdinput;
    adoquery1.Parameters[0].Value:=StrToInt(Edit6.text)-StrToInt(Edit7.text);
    adoquery1.Parameters.AddParameter;
    adoquery1.Parameters[1].name:='s1';
    adoquery1.Parameters[1].DataType:=ftstring;
    adoquery1.Parameters[1].Direction:=pdinput;
    adoquery1.Parameters[1].Value:=edit4.text;
    adoquery1.ExecSQL;
    adoquery1.close;
    adotable1.Close;
    adotable1.TableName:='教材出入库历史表';
    adotable1.open;
    adotable1.AppendRecord([edit4.text,adodataset1.FieldByName('出版社').AsString,adodataset1.FieldByName('获奖情况').AsString,adodataset1.FieldByName('出版年月').Asdatetime,combobox1.text,Edit10.text,StrToInt(Edit6.text),StrToInt(Edit7.text),StrToInt(Edit6.text)-StrToInt(Edit7.text),StrToFloat(Edit8.text),adodataset1.FieldByName('使用说明').AsString,date(),Edit11.text,username,date()]);
    adotable1.close;
    initiate;
end;

end.

⌨️ 快捷键说明

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