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

📄 newbookin.~pas

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

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, Buttons, DB, ADODB,checkuser,main,bookinpt;

type
  Tnewbookform = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label13: TLabel;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    MaskEdit1: TMaskEdit;
    MaskEdit2: TMaskEdit;
    Edit10: TEdit;
    ComboBox1: TComboBox;
    Label14: TLabel;
    Edit11: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ADOTable1: TADOTable;
    ADOQuery1: TADOQuery;
    ADOConnection1: TADOConnection;
    ADODataSet1: TADODataSet;
    Edit12: TEdit;
    Label15: TLabel;
    procedure BitBtn2Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure Edit7Exit(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Edit4Exit(Sender: TObject);
  private
    { Private declarations }
    procedure initform();
  public
    { Public declarations }
  end;

var
  newbookform: Tnewbookform;
  new:boolean;

implementation

{$R *.dfm}

{
                                 [edit1.Text,//教材名
                                  edit6.Text,//出版社
                                  edit2.Text,//作者
                                  edit5.Text,//获奖情况
                                  strtodate(maskedit1.Text),//出版年月
                                  combobox1.Text,//订书单位
                                  edit3.Text,//经办人
                                  strtoint(edit4.Text),//本次数量
                                  strtocurr(edit7.Text),//教材单价
                                  edit10.Text,//使用说明
                                  date(),     //入库时间
                                  edit11.Text,//说明
                                  username,   //操作员
                                  date()]);     //最后修改时间


 }


procedure Tnewbookform.initform();
begin
    edit1.Text:='';
    edit2.Text:='';
    edit3.Text:='';
    edit4.Text:='0';
    edit5.Text:='';
    edit6.Text:='';
    edit12.Text:='0';
    edit12.ReadOnly:=true;
    edit12.TabStop:=false;
    edit7.Text:='0';
    edit8.Text:='0';
    edit8.ReadOnly:=true;
    edit8.TabStop:=false;

    edit10.Text:='';
    edit11.Text:='';
    edit12.Text:='0';
    maskedit1.Text:='';
    maskedit2.Text:=datetostr(date());
    maskedit2.ReadOnly:=true;
    maskedit2.TabStop:=false;


    edit3.Text:=username;
    edit1.Text:='';
    edit2.Text:='';
    edit6.Text:='';
    edit7.Text:='0';

    edit1.SetFocus;

end;

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

procedure Tnewbookform.FormActivate(Sender: TObject);
begin
   initform;
   ADOConnection1:=CheckUserForm.ADOConnection1;
   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;
   new:=false;
end;

procedure Tnewbookform.Edit7Exit(Sender: TObject);
begin
    adodataset1.Connection:=ADOConnection1;
    adodataset1.Close;
    adodataset1.CommandType:=cmdtext;
    adodataset1.CommandText:='select * from 教材表 where 教材名 =:s0  ' +
                             'and  出版社=:s1  and  作者=:s2  and  教材单价=:s3';
    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:=edit1.Text;

    adodataset1.Parameters.AddParameter;
    adodataset1.Parameters[1].Name:='s1';//出版社
    adodataset1.Parameters[1].DataType:=ftstring;
    adodataset1.Parameters[1].Direction:=pdinput;
    adodataset1.Parameters[1].Value:=edit6.Text;

    adodataset1.Parameters.AddParameter;
    adodataset1.Parameters[2].Name:='s2';//作者
    adodataset1.Parameters[2].DataType:=ftstring;
    adodataset1.Parameters[2].Direction:=pdinput;
    adodataset1.Parameters[2].Value:=edit2.Text;

    adodataset1.Parameters.AddParameter;
    adodataset1.Parameters[3].Name:='s3';//单价
    adodataset1.Parameters[3].DataType:=ftstring;
    adodataset1.Parameters[3].Direction:=pdinput;
    adodataset1.Parameters[3].Value:=strtocurr(edit7.Text);

    adodataset1.Active:=true;
    if adodataset1.Recordset.RecordCount=0 then
     begin
         new:=true;
         edit8.Text:='0';
         edit12.Text:='0';
         edit10.Text:='';
         edit11.Text:='';
     end
    else
     begin
         new:=false;
         maskedit1.Text:=datetostr(adodataset1.Fieldbyname('出版年月').AsDateTime);
         edit3.Text:=adodataset1.Fieldbyname('经办人').AsString;
         combobox1.Text:=adodataset1.Fieldbyname('订书单位').AsString;
         edit8.Text:=inttostr(adodataset1.Fieldbyname('教材数量').AsInteger);
         edit5.Text:=adodataset1.Fieldbyname('获奖情况').AsString;
         edit10.Text:=adodataset1.Fieldbyname('使用说明').AsString;
         edit11.Text:=adodataset1.Fieldbyname('说明').AsString;
     end;
end;

procedure Tnewbookform.BitBtn1Click(Sender: TObject);
begin
    adoquery1.Connection:=adoConnection1;
    adoquery1.Close;
    adotable1.Connection:=adoConnection1;
    adotable1.Close ;
    adoquery1.SQL.Clear;
  if new=true then
   begin
         try
          application.MessageBox('新加入了一条记录!','警告',mb_ok);
          new:=false;
          adotable1.TableName:='教材表';
          adotable1.Open;
          //向教材表中添加记录
          adotable1.AppendRecord([edit1.Text,edit6.Text,edit2.Text,edit5.Text,
                                  strtodate(maskedit1.Text), combobox1.Text, edit3.Text,strtoint(edit4.Text),
                                  strtocurr(edit7.Text), edit10.Text,date(),edit11.Text,username,date()]);

         adotable1.Close;
         except
         if application.MessageBox('输入数据错误','警告',mb_ok)=mb_ok then
            abort;
         end;
   end
   else
   begin
     adoquery1.SQL.Clear;
//-------------------更新教材表记录------------------------
     adoquery1.SQL.Add('update 教材表 set 教材数量=:SL,最后修改时间=date(),' +
                       '说明=:s4  where 教材名=:s0  and  出版社=:s1  and  ' +
                       '作者=:s2  and  教材单价=:s3 ');

    adoquery1.Parameters.Clear;

    adoquery1.Parameters.AddParameter;
    adoquery1.Parameters[0].Name:='SL'; //教材数量
    adoquery1.Parameters[0].DataType:=ftstring;
    adoquery1.Parameters[0].Direction:=pdinput;
    adoquery1.Parameters[0].Value:=strtoint(edit12.Text);

    adoquery1.Parameters.AddParameter;
    adoquery1.Parameters[1].Name:='s4'; //说明
    adoquery1.Parameters[1].DataType:=ftstring;
    adoquery1.Parameters[1].Direction:=pdinput;
    adoquery1.Parameters[1].Value:=edit11.Text;


    adoquery1.Parameters.AddParameter;
    adoquery1.Parameters[2].Name:='s0'; //教材名
    adoquery1.Parameters[2].DataType:=ftstring;
    adoquery1.Parameters[2].Direction:=pdinput;
    adoquery1.Parameters[2].Value:=edit1.Text;

    adoquery1.Parameters.AddParameter;
    adoquery1.Parameters[3].Name:='s1';//出版社
    adoquery1.Parameters[3].DataType:=ftstring;
    adoquery1.Parameters[3].Direction:=pdinput;
    adoquery1.Parameters[3].Value:=edit6.Text;

    adoquery1.Parameters.AddParameter;
    adoquery1.Parameters[4].Name:='s2';//作者
    adoquery1.Parameters[4].DataType:=ftstring;
    adoquery1.Parameters[4].Direction:=pdinput;
    adoquery1.Parameters[4].Value:=edit2.Text;

    adoquery1.Parameters.AddParameter;
    adoquery1.Parameters[5].Name:='s3';//单价
    adoquery1.Parameters[5].DataType:=ftstring;
    adoquery1.Parameters[5].Direction:=pdinput;
    adoquery1.Parameters[5].Value:=strtocurr(edit7.Text);

    adoquery1.ExecSQL;
    adoquery1.Close;
   end;
//-------------------向教材出入库历史表中添加记录------------------------
   adotable1.Close;
   adotable1.TableName:='教材出入库历史表';
   adotable1.Open;

          adotable1.AppendRecord([edit1.Text,edit6.Text,edit5.Text,strtodate(maskedit1.Text),
                                 combobox1.Text,edit3.Text,strtoint(edit8.Text),
                                 strtoint(edit4.Text),strtoint(edit12.Text),
                                 strtocurr(edit7.Text), edit10.Text,date(),edit11.Text,username,date()]);

         adotable1.Close;
//--------------------教材入库打印凭证-------------------------------------
    bookinptrform:=Tbookinptrform.Create(self);
    bookinptrform:=Tbookinptrform.Create(self);
    bookinptrform.QRLabel3.Caption:=edit1.Text;
    bookinptrform.QRLabel6.Caption:=edit6.Text;
    bookinptrform.QRLabel7.Caption:=combobox1.Text;
    bookinptrform.QRLabel9.Caption:=edit10.Text;
    bookinptrform.QRLabel11.Caption:=edit8.Text + '册';
    bookinptrform.QRLabel13.Caption:=edit4.Text + '册';
    bookinptrform.QRLabel15.Caption:=edit12.Text + '册';
    bookinptrform.QRLabel17.Caption:=edit7.Text + '元/册';
    bookinptrform.QRLabel23.Caption:=floattostr(strtofloat(edit12.Text)*strtofloat(edit7.Text)) + '元';
    bookinptrform.QRLabel19.Caption:=username;
    bookinptrform.QRLabel21.Caption:=datetostr(date());
    bookinptrform.QuickRep1.Preview;
initform;
end;

procedure Tnewbookform.Edit4Exit(Sender: TObject);
begin
    if edit4.Text='' then
    edit4.Text:='0';
    edit12.Text:=inttostr(strtoint(edit8.Text)+strtoint(edit4.Text));
end;



end.

⌨️ 快捷键说明

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