www.pudn.com > jiaocaiguanlixitongdaima.rar > BookInUnit.pas


unit BookInUnit; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, DB, ADODB, StdCtrls, Buttons, Mask; 
 
type 
  TfrmBookIn = class(TForm) 
    Label1: TLabel; 
    Label2: TLabel; 
    Label3: TLabel; 
    Label4: TLabel; 
    Label5: TLabel; 
    Label6: TLabel; 
    Label7: TLabel; 
    Label8: TLabel; 
    Label9: TLabel; 
    Label10: TLabel; 
    Label11: TLabel; 
    Label12: TLabel; 
    Label13: TLabel; 
    Label14: TLabel; 
    Edit1: TEdit; 
    Edit2: TEdit; 
    Edit3: TEdit; 
    Edit4: TEdit; 
    MaskEdit1: TMaskEdit; 
    ComboBox1: TComboBox; 
    Edit5: TEdit; 
    Edit6: TEdit; 
    Edit7: TEdit; 
    Edit8: TEdit; 
    Edit9: TEdit; 
    Edit10: TEdit; 
    MaskEdit2: TMaskEdit; 
    Edit11: TEdit; 
    BitBtn1: TBitBtn; 
    BitBtn2: TBitBtn; 
    Label15: TLabel; 
    MaskEdit3: TMaskEdit; 
    procedure FormCreate(Sender: TObject); 
    procedure BitBtn2Click(Sender: TObject); 
    procedure MaskEdit3Exit(Sender: TObject); 
    procedure BitBtn1Click(Sender: TObject); 
    procedure Edit7Exit(Sender: TObject); 
  private 
    procedure initializtionfrm(); 
  public 
    { Public declarations } 
  end; 
 
var 
  frmBookIn: TfrmBookIn; 
  Dep,Book:TADOTable; 
  BookIn:TADOStoredProc; 
  ISExists:boolean; 
implementation 
 
uses DataModuleUnit, MainUnit; 
 
{$R *.dfm} 
//清空输入的数据 
procedure TfrmBookIn.initializtionfrm(); 
var 
 i:integer; 
begin 
  for i:=0 to self.ComponentCount-1 do 
  begin 
      if self.Components[i] is TEdit then 
       (self.Components[i] as TEdit).Text:='' //清空Edit内容 
      else 
      if self.Components[i] is TMaskEdit then 
       (self.Components[i] as TMaskEdit).Text:=''//清空MaskEdit内容 
      else 
      if self.Components[i] is TCheckBox then 
       (self.Components[i] as TCheckBox).Checked:=false//清空CheckBox内容 
      else 
      if self.Components[i] is TCombobox then 
       (self.Components[i] as TCombobox).Text:='';//清空Combobox内容 
  end; 
end; 
procedure TfrmBookIn.FormCreate(Sender: TObject); 
var 
  i:integer; 
begin 
//初始化存储过程 
   BookIn:=TADOStoredProc.Create(nil); 
   With BookIn do 
   begin 
     Connection:=frmDataModule.Connection; 
   end; 
//初始化教材表 
   Book:=TADOTable.Create(nil);//教材表 
   with Book do 
   begin 
     Connection:=frmDataModule.Connection; 
     TableName:='Books'; 
     Active:=true; 
   end; 
 
   Dep:=TADOTable.Create(nil); //班级表 
   with Dep do 
   begin 
     Connection:=frmDataModule.Connection; 
     TableName:='Departments'; 
     Active:=true; 
     combobox1.Items.Add('请选择订书单位!'); 
     for i:=0 to RecordCount-1 do 
     begin 
       comboBox1.Items.Add(Fields[0].Value); 
       Next; 
     end; 
     close; 
     Dep.Free; 
     Combobox1.ItemIndex:=0; 
   end; 
end; 
 
procedure TfrmBookIn.BitBtn2Click(Sender: TObject); 
begin 
close; 
end; 
//查询是输入的ISBN号是否存在 
procedure TfrmBookIn.MaskEdit3Exit(Sender: TObject); 
begin 
  with Book do 
  begin 
    ISExists:=Locate('ISBN',MaskEdit3.Text,[loCaseInsensitive]); 
    if ISExists then 
    begin 
      Edit1.Text:=FieldByName('BookName').Value;    
      Edit2.Text:=FieldByName('press').Value; //出版社 
      Edit3.Text:=FieldByName('Author').Value;//作者 
      Edit4.Text:=FieldByName('Price').Value;//单价 
      MaskEdit1.Text:=FieldByName('PublishDate').Value;//出版日期 
      Combobox1.Text:=FieldByName('OrderDepartmentName').Value;//订书单位 
      Edit5.Text:=FieldByName('Handler').Value;//经办人 
      Edit6.Text:=FieldByName('BookAmount').Value;//原有数量 
      //Edit7.Text:=FieldByName('press').Value; //本次数量 
      //Edit8.Text:=FieldByName('press').Value; //总数量 
      Edit9.Text:=FieldByName('Award').Value; //获奖情况 
      Edit10.Text:=FieldByName('UsingWay').Value;//使用说明 
      MaskEdit2.Text:=FormatDateTime('yyyy-mm-dd',FieldByName('EnterDate').Value);//FormatDateTime('YYYY-MM-DD',FieldByName('EnterDate').Value);//入库日期 
      Edit11.Text:=FieldByName('About').Value;//说明 
    end 
    else 
    begin 
      Combobox1.ItemIndex:=0; 
      Edit5.Text:=frmMain.OperatorInfo.OperatorName; //经办人 
      Edit6.Text:='0';//原有数量 
      MaskEdit2.Text:=DateTimetostr(now);//入库日期 
      Edit11.Text:='-'; //说明 
      Edit10.Text:='学生教材';//使用说明 
    end; 
//S := FormatDateTime('"The meeting is on " dddd, mmmm d, yyyy, " at " hh:mm AM/PM', Now + 0.125); 
  end; 
end; 
//添加或修改教材信息 
procedure TfrmBookIn.BitBtn1Click(Sender: TObject); 
begin 
//检查本次数量的合法性 
if (strtoIntDef(Edit7.Text,0)<=0) then 
begin 
  Application.MessageBox('"本次数量有误",请重新输入!','出错提示',mb_ok); 
  Edit7.SetFocus; 
  abort; 
end; 
//检查是否选择了订书单位 
if Combobox1.ItemIndex=0 then 
begin 
  Application.MessageBox('请选择"订书单位"!','出错提示',mb_ok); 
  Combobox1.SetFocus; 
  abort; 
end; 
 
  with BookIn do 
  begin 
    Parameters.Clear; 
    //Parameters.CreateParameter('@ISBN_2',ftstring,pdinput,13,MaskEdit3.Text); 
    //Parameters.CreateParameter('@BookAmount_2',ftinteger,pdinput,4,StrToInt(Edit8.Text)); 
    if not ISExists then 
    begin 
      ProcedureName:='insert_Books_1'; 
      Parameters.CreateParameter('@ISBN_2',ftstring,pdinput,13,MaskEdit3.Text); 
      Parameters.CreateParameter('@bookName_1',ftstring,pdinput,50,MaskEdit3.Text); 
      Parameters.CreateParameter('@Press_2',ftString,pdinput,50,Edit1.Text); 
      Parameters.CreateParameter('@Author_3',ftstring,pdinput,8,Edit3.Text); 
      Parameters.CreateParameter('@Award_4',ftstring,pdinput,50,Edit9.Text); 
      Parameters.CreateParameter('@publishDate_5',ftDateTime,pdinput,8,MaskEdit1.Text); 
      Parameters.CreateParameter('@OrderDepartmentName_6',ftstring,pdinput,20,Combobox1.Text); 
      Parameters.CreateParameter('@handler_7',ftstring,pdinput,8,Edit5.Text); 
      Parameters.CreateParameter('@BookAmount_2',ftinteger,pdinput,4,Strtoint(Edit8.Text)); 
      Parameters.CreateParameter('@Price_9',ftfloat,pdinput,4,StrTofloat(Edit4.Text)); 
      Parameters.CreateParameter('@UsingWay_10',ftstring,pdinput,50,Edit10.Text); 
      Parameters.CreateParameter('@About_12',ftstring,pdinput,50,Edit11.Text); 
      Parameters.CreateParameter('@OperatorID_13',ftstring,pdinput,8,frmMain.OperatorInfo.OperatorID); 
    end 
    else 
    begin 
      ProcedureName:='update_Books_1'; 
      Parameters.CreateParameter('@ISBN_2',ftstring,pdinput,13,MaskEdit3.Text); 
      Parameters.CreateParameter('@BookAmount_2',ftinteger,pdinput,4,StrToInt(Edit8.Text)); 
    end; 
    try 
      ExecProc; 
      Application.MessageBox('教材信息添加成功!','提示',mb_ok); 
      bitbtn1.Enabled:=false; 
      self.initializtionfrm; 
     // MaskEdit3.EditMask:='0\-000\-00000\-A;1;_'; 
    except 
      Application.MessageBox('教材信息添加失败!','出错提示',mb_ok); 
    end; 
  end; 
end; 
 
procedure TfrmBookIn.Edit7Exit(Sender: TObject); 
var 
  totalAmount,Amount,NowAmount:integer; 
begin 
    Amount:=StrToIntDef(Edit6.Text,0);    //原有数量 
    if StrToIntDef(Edit7.Text,0)<=0 then 
    begin 
      Application.MessageBox('你输入数值有误,或为0!','出错提示',mb_ok); 
      Edit7.SetFocus; 
      abort; 
    end; 
    NowAmount:=StrToIntDef(Edit7.Text,0); //本次数量 
    TotalAmount:=Amount+NowAmount;//总数量 
    Edit8.Text:=IntToStr(TotalAmount); 
    bitbtn1.Enabled:=true; 
end; 
 
end.