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

📄 classoperator.~pas

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

interface

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

type
  Tclassform = class(TForm)
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    ADOTable1: TADOTable;
    MaskEdit1: TMaskEdit;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    Edit4: TEdit;
    Image1: TImage;
    Label10: TLabel;
    BitBtn1: TBitBtn;
    ADOConnection1: TADOConnection;
    Label11: TLabel;
    Edit9: TEdit;
    procedure FormActivate(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
   procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure ADOTable1AfterScroll(DataSet: TDataSet);
  private
    { Private declarations }
    procedure initform();
    procedure savetotable();
    procedure loadfromtable();
    procedure update();
  public
    { Public declarations }
  end;

var
  classform: Tclassform;
  new_record:boolean;
implementation
    uses main, CheckUser;
{$R *.dfm}

procedure tclassform.initform();
begin
   edit1.Text:='';
   edit2.Text:='';
   edit3.Text:='';
   edit4.Text:='';
   edit5.Text:='';
   edit6.Text:='';
   edit7.Text:='';
   edit8.Text:='';
   edit9.Text:='0';
   edit9.ReadOnly:=true;
   edit9.Enabled:=false;
   maskedit1.Text:=datetostr(date());
   //edit1.SetFocus;
end;
procedure tclassform.savetotable();
 begin

    adotable1.Edit;
    adotable1.fieldbyname('班级名').AsString:=edit1.Text;
    adotable1.fieldbyname('入学时间').AsDateTime:=strtodate(maskedit1.Text);
    adotable1.fieldbyname('所在院系').AsString:=edit6.Text;
    adotable1.fieldbyname('班长').AsString:=edit2.Text;
    adotable1.fieldbyname('班长联系电话').AsString:=edit7.Text;
    adotable1.fieldbyname('班主任').AsString:=edit3.Text;
    adotable1.fieldbyname('班主任联系电话').AsString:=edit8.Text;
    adotable1.fieldbyname('操作员').AsString:=username;
    adotable1.fieldbyname('最后修改时间').AsDateTime:=date();
    adotable1.fieldbyname('所学专业').AsString:=edit5.Text;
    adotable1.fieldbyname('班级人数').AsString:=edit4.Text;
    adotable1.Post;
 end;
procedure tclassform.loadfromtable();
 begin
    edit1.Text:=adotable1.fieldbyname('班级名').AsString;
    maskedit1.Text:=datetostr(adotable1.fieldbyname('入学时间').AsDateTime);
    edit6.Text:=adotable1.fieldbyname('所在院系').AsString;
    edit2.Text:=adotable1.fieldbyname('班长').AsString;
    edit7.Text:=adotable1.fieldbyname('班长联系电话').AsString;
    edit3.Text:=adotable1.fieldbyname('班主任').AsString;
    edit8.Text:=adotable1.fieldbyname('班主任联系电话').AsString;
    edit5.Text:=adotable1.fieldbyname('所学专业').AsString;
    edit4.Text:=adotable1.fieldbyname('班级人数').AsString;
    edit9.Text:=floattostr(adotable1.fieldbyname('书费').AsCurrency);
 end;

procedure Tclassform.update();
var adoquery1:tadoquery;str:string;
begin
   str:='update 班级表 set '+
               '入学时间=:rxdate,班长=:banzhang,班主任=:bzr,班级人数=:rs,'+
               '所在院系=:szyx,所学专业=:sxzy,班长联系电话=:bztel,班主任联系电话=:bzrtel,'+
               '操作员=:czy,最后修改时间=:day'+
               '  where 班级名=:classname';
              adoquery1:=tadoquery.Create(self);
              adoquery1.Connection:=adoConnection1;
              adoquery1.SQL.Clear;
              adoquery1.SQL.Add(str);
              adoquery1.Parameters.Clear;
              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[0].Name:='rxdate';
              adoquery1.Parameters[0].DataType:=ftstring;
              adoquery1.Parameters[0].Direction:=pdinput;
              adoquery1.Parameters[0].Value:=strtodate(maskedit1.Text);
              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[1].Name:='banzhang';
              adoquery1.Parameters[1].DataType:=ftstring;
              adoquery1.Parameters[1].Direction:=pdinput;
              adoquery1.Parameters[1].Value:=edit2.Text;
              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[2].Name:='bzr';
              adoquery1.Parameters[2].DataType:=ftstring;
              adoquery1.Parameters[2].Direction:=pdinput;
              adoquery1.Parameters[2].Value:=edit3.Text;

              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[3].Name:='rs';
              adoquery1.Parameters[3].DataType:=ftstring;
              adoquery1.Parameters[3].Direction:=pdinput;
              adoquery1.Parameters[3].Value:=strtoint(edit4.Text);


              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[4].Name:='szyx';
              adoquery1.Parameters[4].DataType:=ftstring;
              adoquery1.Parameters[4].Direction:=pdinput;
              adoquery1.Parameters[4].Value:=edit6.Text;

              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[5].Name:='sxzy';
              adoquery1.Parameters[5].DataType:=ftstring;
              adoquery1.Parameters[5].Direction:=pdinput;
              adoquery1.Parameters[5].Value:=edit5.Text;


              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[6].Name:='bztel';
              adoquery1.Parameters[6].DataType:=ftstring;
              adoquery1.Parameters[6].Direction:=pdinput;
              adoquery1.Parameters[6].Value:=edit7.Text;


              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[7].Name:='bzrtel';
              adoquery1.Parameters[7].DataType:=ftstring;
              adoquery1.Parameters[7].Direction:=pdinput;
              adoquery1.Parameters[7].Value:=edit8.Text;

              {adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[8].Name:='sysf';
              adoquery1.Parameters[8].DataType:=ftstring;
              adoquery1.Parameters[8].Direction:=pdinput;
              adoquery1.Parameters[8].Value:=strtocurr(edit9.Text);
              }
              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[8].Name:='czy';
              adoquery1.Parameters[8].DataType:=ftstring;
              adoquery1.Parameters[8].Direction:=pdinput;
              adoquery1.Parameters[8].Value:=username;

              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[9].Name:='day';
              adoquery1.Parameters[9].DataType:=ftstring;
              adoquery1.Parameters[9].Direction:=pdinput;
              adoquery1.Parameters[9].Value:=date();

              adoquery1.Parameters.AddParameter;
              adoquery1.Parameters[10].Name:='classname';
              adoquery1.Parameters[10].DataType:=ftstring;
              adoquery1.Parameters[10].Direction:=pdinput;
              adoquery1.Parameters[10].Value:=edit1.Text;
              adoquery1.ExecSQL;
              adoquery1.Close;
              adotable1.Refresh;

end;

procedure Tclassform.FormActivate(Sender: TObject);
begin
    initform();
    edit1.ReadOnly:=true;
    edit1.Enabled:=false;
    edit9.ReadOnly:=true;
    bitbtn1.Caption:='修改';
    ADOConnection1:=CheckUserForm.ADOConnection1;
    dbgrid1.DataSource:=datasource1;
    datasource1.DataSet:=adotable1;
    adotable1.Connection:=ADOConnection1;
    adotable1.TableName:='班级表';
    adotable1.Active:=true;
    new_record:=false;
    dbgrid1.Columns[0].Width:=105;
    dbgrid1.Columns[1].Width:=80;
    dbgrid1.Columns[2].Width:=80;
    dbgrid1.Columns[3].Width:=80;
    dbgrid1.Columns[4].Width:=120;
    dbgrid1.Columns[5].Width:=80;
    dbgrid1.Columns[6].Width:=120;
    dbgrid1.Columns[7].Width:=60;
    dbgrid1.Columns[8].Width:=100;
    dbgrid1.Columns[9].Width:=70;
    dbgrid1.Columns[10].Width:=120;
    dbgrid1.Columns[11].Width:=80;
    
 if adotable1.Eof then
   bitbtn2.Enabled:=false
 else
    loadfromtable;
 edit4.Text:='0';
end;

procedure Tclassform.BitBtn3Click(Sender: TObject);
begin
   close;
end;

procedure Tclassform.BitBtn1Click(Sender: TObject);
var  str1,str2,str3,str4,str5,str6,str7,str8,str9,str10:string;
begin

 if  edit1.Text<> '' then
    begin
      if new_record  then
          begin
          //保存数据
           str1:=edit1.Text;
           str2:=edit2.Text;
           str3:=edit3.Text;
           str4:=edit4.Text;
           str5:=edit5.Text;
           str6:=edit6.Text;
           str7:=edit7.Text;
           str8:=edit8.Text;
           //str9:=edit9.Text;
           str10:=maskedit1.Text;



           adotable1.Append;
           adotable1.FieldByName('书费').AsCurrency:=0;
           new_record:=false;

           //恢复数据
           edit1.Text:=str1;
           edit2.Text:=str2;
           edit3.Text:=str3;
           edit4.Text:=str4;
           edit5.Text:=str5;
           edit6.Text:=str6;
           edit7.Text:=str7;
           edit8.Text:=str8;
           //edit9.Text:=str9;
           maskedit1.Text:=str10;


           savetotable;
           bitbtn1.Caption:='修改';
           bitbtn2.Enabled:=true;
          end
      else
          begin
            edit1.ReadOnly:=true;
            update();
          end;
     end
  else
   application.MessageBox('您输入的信息有错或不完整!','提示',mb_ok);
end;

procedure Tclassform.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;
                     maskedit1.Text:=datetostr(adodateset1.fieldbyname('入学时间').AsDateTime);
                     edit6.Text:=adodateset1.fieldbyname('所在院系').AsString;
                     edit2.Text:=adodateset1.fieldbyname('班长').AsString;
                     edit7.Text:=adodateset1.fieldbyname('班长联系电话').AsString;
                     edit3.Text:=adodateset1.fieldbyname('班主任').AsString;
                     edit8.Text:=adodateset1.fieldbyname('班主任联系电话').AsString;
                     edit5.Text:=adodateset1.fieldbyname('所学专业').AsString;
                     edit4.Text:=adodateset1.fieldbyname('班级人数').AsString;
                     edit9.Text:=floattostr(adodateset1.fieldbyname('书费').AsCurrency);

                 end;
        end;
    end;
end;

procedure Tclassform.BitBtn4Click(Sender: TObject);
begin
    edit1.Enabled:=true;
    edit1.ReadOnly:=false;
    edit1.Text:='';
    edit1.SetFocus;
    edit9.Text:='0';
    new_record:=true;
    bitbtn1.Caption:='保存';
    application.MessageBox('请输入信息并注意保存!','提示!',mb_ok);
end;

procedure Tclassform.BitBtn2Click(Sender: TObject);
var adoquery1:tadoquery;
begin
    if adotable1.Recordset.RecordCount>0 then
    begin
    adotable1.Delete;
    {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;
    initform();
    adoquery1.Close;
    adotable1.Requery(); }
    application.MessageBox('记录已删除!','提示!',mb_ok);
    end
    else
    bitbtn2.Enabled:=false;
    new_record:=false;
end;


procedure Tclassform.ADOTable1AfterScroll(DataSet: TDataSet);
begin
    loadfromtable ;
end;

end.

⌨️ 快捷键说明

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