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

📄 unitsform.pas

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

interface

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

type
  Tutilsform = class(TForm)
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    GroupBox2: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    MaskEdit1: TMaskEdit;
    Label4: TLabel;
    Edit4: TEdit;
    Label5: TLabel;
    Image1: TImage;
    Label6: TLabel;
    RadioButton4: TRadioButton;
    DBGrid1: TDBGrid;
    procedure BitBtn2Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure RadioButton4Click(Sender: TObject);
    procedure ADOTable1AfterScroll(DataSet: TDataSet);
  private
    { Private declarations }
    procedure initform();
    procedure savetotable();
    procedure loadfromtable();
    procedure genxin();
  public
    { Public declarations }
  end;

var
  utilsform: Tutilsform;
  new_record:boolean;
  caozuo:integer;
implementation

{$R *.dfm}

procedure Tutilsform.genxin();
var adoquery1:tadoquery;str:string;
begin
          str:='update 单位信息表 set '+
               '负责人=:fzr,联系电话=:tel,操作员=:czy,最后修改时间=:day'+
               ',书费=:cur'+
               '  where 单位名=:utiname';
              adoquery1:=tadoquery.Create(self);
              adoquery1.Connection:=adoConnection1;
              adoquery1.SQL.Clear;
              adoquery1.SQL.Add(str);
              adoquery1.Parameters.Clear;
              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[0].Name:='fzr';
              adoquery1.Parameters[0].DataType:=ftstring;
              adoquery1.Parameters[0].Direction:=pdinput;
              adoquery1.Parameters[0].Value:=edit2.Text;
              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[1].Name:='tel';
              adoquery1.Parameters[1].DataType:=ftstring;
              adoquery1.Parameters[1].Direction:=pdinput;
              adoquery1.Parameters[1].Value:=edit3.Text;
              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[2].Name:='czy';
              adoquery1.Parameters[2].DataType:=ftstring;
              adoquery1.Parameters[2].Direction:=pdinput;
              adoquery1.Parameters[2].Value:=username;
              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[3].Name:='day';
              adoquery1.Parameters[3].DataType:=ftstring;
              adoquery1.Parameters[3].Direction:=pdinput;
              adoquery1.Parameters[3].Value:=date();
              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[4].Name:='cur';
              adoquery1.Parameters[4].DataType:=ftstring;
              adoquery1.Parameters[4].Direction:=pdinput;
              adoquery1.Parameters[4].Value:=strtocurr(edit4.Text);
              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[5].Name:='utiname';
              adoquery1.Parameters[5].DataType:=ftstring;
              adoquery1.Parameters[5].Direction:=pdinput;
              adoquery1.Parameters[5].Value:=edit1.Text;
              adoquery1.ExecSQL;
              adoquery1.Close;
              adotable1.Requery();
end;

procedure Tutilsform.initform();
begin
   edit1.Text:='';
   edit2.Text:='';
   edit3.Text:='';
   edit1.SetFocus;
   radiobutton1.Checked:=false;
   radiobutton2.Checked:=false;
   radiobutton3.Checked:=false;
   edit4.Enabled:=false;
   edit4.ReadOnly:=true;
end;
procedure Tutilsform.savetotable();
 begin
    adotable1.Edit;
    adotable1.fieldbyname('单位名').AsString:=edit1.Text;
    adotable1.fieldbyname('负责人').Asstring:=edit2.Text;
    adotable1.fieldbyname('联系电话').AsString:=edit3.Text;
    adotable1.fieldbyname('操作员').AsString:=username;
    adotable1.fieldbyname('最后修改时间').AsDateTime:=date();
    adotable1.Post;
 end;
procedure Tutilsform.loadfromtable();
 begin
    edit1.Text:=adotable1.fieldbyname('单位名').AsString;
    edit2.Text:=adotable1.fieldbyname('负责人').AsString;
    edit3.Text:=adotable1.fieldbyname('联系电话').AsString;
    edit4.Text:=Currtostr(adotable1.fieldbyname('书费').AsCurrency);
    maskedit1.Text:=datetostr(adotable1.fieldbyname('最后修改时间').AsDateTime);
 end;


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

procedure Tutilsform.FormActivate(Sender: TObject);
begin
    initform();
    maskedit1.ReadOnly:=true;
    caozuo:=0;
    ADOConnection1:=CheckUserForm.ADOConnection1;
    dbgrid1.DataSource:=datasource1;
    datasource1.DataSet:=adotable1;
    adotable1.Connection:=ADOConnection1;
    adotable1.TableName:='单位信息表';
    adotable1.Active:=true;
    new_record:=false;
    dbgrid1.Columns[0].Width:=150;
    dbgrid1.Columns[1].Width:=70;
    dbgrid1.Columns[2].Width:=120;
    dbgrid1.Columns[3].Width:=65;
    dbgrid1.Columns[4].Width:=60;
    dbgrid1.Columns[5].Width:=120;
    radiobutton1.Enabled:=true;
    maskedit1.Text:=datetostr(date());
 if adotable1.Eof then
    radiobutton3.Enabled:=false
 else
    loadfromtable;
end;

procedure Tutilsform.RadioButton1Click(Sender: TObject);
begin
   if  radiobutton1.Checked=true then
      begin
        edit1.Text:='';
        edit1.SetFocus;
        new_record:=true;
        maskedit1.Text:=datetostr(date());
        application.MessageBox('请输入信息并注意保存!','提示!',mb_ok);
        caozuo:=1;  //添加记录
        edit1.ReadOnly:=false;
        
        edit4.Enabled:=false;
        edit4.ReadOnly:=true;
     end;
end;

procedure Tutilsform.RadioButton2Click(Sender: TObject);
begin
    if  radiobutton2.Checked=true then
     begin
        //edit1.ReadOnly:=true;
        new_record:=false;
        caozuo:=2;  //修改记录

        edit4.Enabled:=false;
        edit4.ReadOnly:=true;
     end;
end;

procedure Tutilsform.RadioButton3Click(Sender: TObject);
begin
  if  radiobutton3.Checked=true then
   begin
       edit1.ReadOnly:=false;
       new_record:=false;
       caozuo:=3;  //删除记录

       edit4.Enabled:=false;
       edit4.ReadOnly:=true;
   end;
end;

procedure Tutilsform.Edit1Exit(Sender: TObject);
var adodateset1:tadodataset;
begin
 if edit1.Text<>'' then
    begin
       adodateset1:=tadodataset.Create(self);
       adodateset1.Connection:=adoConnection1;
       adodateset1.Close;
       adodateset1.CommandType:=cmdtext;
       adodateset1.CommandText:='select * from 单位信息表 where 单位名=:classname order by 单位名 asc';
       adodateset1.Parameters.Clear;
       adodateset1.Parameters.AddParameter;
       adodateset1.Parameters[0].Name:='classname';
       adodateset1.Parameters[0].DataType:=ftstring;
       adodateset1.Parameters[0].Direction:=pdinput;
       adodateset1.Parameters[0].Value:=edit1.Text;
       adodateset1.Active:=true;
      if new_record then
         begin
             if adodateset1.Recordset.RecordCount>0 then
                 begin
                     application.MessageBox('您输入的单位名重复','提示',48);
                    // edit1.Text:='';
                     edit1.SetFocus;
                 end;
         end
      else
         begin
             if adodateset1.Recordset.RecordCount>0 then
                 begin
                    edit1.Text:=adodateset1.fieldbyname('单位名').AsString;
                    edit2.Text:=adodateset1.fieldbyname('负责人').AsString;
                    edit3.Text:=adodateset1.fieldbyname('联系电话').AsString;
                    edit4.Text:=Currtostr(adodateset1.fieldbyname('书费').AsCurrency);
                    maskedit1.Text:=datetostr(adodateset1.fieldbyname('最后修改时间').AsDateTime);
                 end
            else
              application.MessageBox('该单位不存在','提示',48);
        end;
    end;
end;

procedure Tutilsform.BitBtn1Click(Sender: TObject);
var adoquery1:tadoquery;
    str1,str2,str3,str4,str5:string;
begin
 str1:=edit1.Text;
 str2:=edit2.Text;
 str3:=edit3.Text;
 str4:=edit4.Text;
 str5:=maskedit1.Text;
 case caozuo of
   1 :         //  添加记录
        begin
        if  edit1.Text<> '' then
        begin
                 if new_record  then
                 begin
                    adotable1.Append;
                    adotable1.FieldByName('书费').AsCurrency:=0;
                    edit1.Text:=str1;
                    edit2.Text:=str2;
                    edit3.Text:=str3;
                    edit4.Text:=str4;
                    maskedit1.Text:=str5;
                    savetotable;
                    radiobutton3.Enabled:=true;
                 end;
        end
        else
        application.MessageBox('您输入的信息有错或不完整!','提示',mb_ok);
        end;
    2 :         // 修改记录
         begin
              genxin;
         end;
    3 :         // 删除记录
        begin
         {adoquery1:=tadoquery.Create(self);
         adoquery1.Connection:=adoConnection1;
         adoquery1.SQL.Clear;
         adoquery1.SQL.Add('delete * from 单位信息表 where 单位名=:classname');
         adoquery1.Parameters.Clear;
         adoquery1.Parameters.AddParameter;
         adoquery1.Parameters[0].Name:='classname';
         adoquery1.Parameters[0].DataType:=ftstring;
         adoquery1.Parameters[0].Direction:=pdinput;
         adoquery1.Parameters[0].Value:=edit1.Text;
         adoquery1.ExecSQL;
         adoquery1.Close;
         edit1.SetFocus;
         adotable1.Requery();
         }
         if adotable1.Recordset.RecordCount>0 then
           begin
             adotable1.Delete;
             application.MessageBox('记录已删除!','提示!',mb_ok);
             loadfromtable();
           end else
                radiobutton3.Enabled:=false;
         end; //结束case 3
   else
      application.MessageBox('空操作!难道您什么都不想干么?','提示!',48);
      edit4.Enabled:=false;
      edit4.ReadOnly:=true;
   end;//结束case 语句
end;

procedure Tutilsform.RadioButton4Click(Sender: TObject);
begin
   if  RadioButton4.Checked then
      begin
       edit4.Enabled:=true;
       edit4.ReadOnly:=false;
      end;
end;

procedure Tutilsform.ADOTable1AfterScroll(DataSet: TDataSet);

begin
     loadfromtable;
end;

end.

⌨️ 快捷键说明

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