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

📄 table.pas

📁 一个很好的勤工助学管理系统
💻 PAS
字号:
unit table;

interface

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

type
  Tfrm_table = class(TForm)
    Panel2: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    Panel1: TPanel;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Panel3: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label20: TLabel;
    Label19: TLabel;
    Label21: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBComboBox1: TDBComboBox;
    DBComboBox2: TDBComboBox;
    DBComboBox3: TDBComboBox;
    DBComboBox4: TDBComboBox;
    DBComboBox5: TDBComboBox;
    DBMemo1: TDBMemo;
    DBMemo2: TDBMemo;
    DBMemo3: TDBMemo;
    DBMemo4: TDBMemo;
    DBMemo5: TDBMemo;
    DBEdit3: TDBEdit;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    TabSheet2: TTabSheet;
    DBGrid1: TDBGrid;
    BitBtn9: TBitBtn;
    GroupBox1: TGroupBox;
    lb_RecNo: TLabel;
    lb_RecCount: TLabel;
    DataSource1: TDataSource;
    lb_Modal: TLabel;
    ActionList1: TActionList;
    DataSetFirst1: TDataSetFirst;
    DataSetPrior1: TDataSetPrior;
    DataSetNext1: TDataSetNext;
    DataSetLast1: TDataSetLast;
    DataSetInsert1: TDataSetInsert;
    DataSetDelete1: TDataSetDelete;
    DataSetPost1: TDataSetPost;
    DataSetCancel1: TDataSetCancel;
    ImageList1: TImageList;
    ADOTable1: TADOTable;
    BitBtn10: TBitBtn;
    DataSetRefresh1: TDataSetRefresh;
    lb_Date: TLabel;
    lb_MaxNo: TLabel;
    procedure BitBtn9Click(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure DataSource1StateChange(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure DataSetInsert1Execute(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure ADOTable1BeforeDelete(DataSet: TDataSet);
    procedure DataSetPost1Execute(Sender: TObject);
    procedure ADOTable1RecordChangeComplete(DataSet: TCustomADODataSet;
      const Reason: TEventReason; const RecordCount: Integer;
      const Error: Error; var EventStatus: TEventStatus);
  private
    MaxNo:Integer;
    { Private declarations }
  public
    bModified:Boolean;
    { Public declarations }
  end;

var
  frm_table: Tfrm_table;

  
implementation

uses main, data;

{$R *.dfm}

//===========================================
function Max(const A, B: Integer): Integer;
begin
  if A > B then
    Result := A
  else
    Result := B;
end;
//===========================================

procedure Tfrm_table.BitBtn9Click(Sender: TObject);
begin
  Close;
end;

procedure Tfrm_table.DataSource1DataChange(Sender: TObject;
  Field: TField);
begin
  lb_RecNo.Caption:='当前记录:'+IntToStr(DataSource1.DataSet.RecNo);
  lb_RecCount.Caption:='记录总数:'+IntToStr(DataSource1.DataSet.RecordCount);
//  lb_MaxNo.Caption:='导入记录起始:'+IntToStr(MaxNo);
  lb_Date.Caption:=DateToStr(Date);
//  if bModified then lb_Date.Caption:='Changeed';
end;

procedure Tfrm_table.DataSource1StateChange(Sender: TObject);
begin
  case DataSource1.State of
    dsBrowse:lb_Modal.Caption:='[浏览模式]';
    dsEdit:lb_Modal.Caption:='[修改模式]';
    dsInsert:lb_Modal.Caption:='[插入模式]';
  else lb_Modal.Caption:='[其他模式]';
  end;
end;

procedure Tfrm_table.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if (Key = #13)and not (ActiveControl is TBitBtn) then
  begin
    Key := #0;                                   { clear enter key }
    Perform(WM_NEXTDLGCTL, 0, 0);                { move to next control }
  end;
end;

procedure Tfrm_table.DataSetInsert1Execute(Sender: TObject);
begin    
  ADOTable1.Insert;
  DBEdit1.SetFocus;
  ADOTable1.Fields[0].AsInteger:=MaxNo+1;
  ADOTable1.Fields[7].AsString:=sYuanXiao;
  ADOTable1.Fields[8].AsString:=sZhuanYe;
  ADOTable1.Fields[19].AsDateTime:=Date;
end;

procedure Tfrm_table.FormCreate(Sender: TObject);
begin
  bModified:=False;
  ADOTable1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
                               MyPath+'mdb\勤工助学.mdb;Jet OLEDB:Database Password='+
                               MyPassW+';Persist Security Info=False';
  ADOTable1.TableName:='助学申请';
  ADOTable1.Open;
  while not ADOTable1.Eof do
  begin
    MaxNo:=Max(MaxNo,ADOTable1.Fields[0].AsInteger);
    ADOTable1.Next;
  end;
end;

procedure Tfrm_table.FormDestroy(Sender: TObject);
begin
  ADOTable1.Close;
end;

procedure Tfrm_table.ADOTable1BeforeDelete(DataSet: TDataSet);
var
  dStr:String;
begin
  dStr:=format('确定删除第%d条记录[%s]',[ADOTable1.RecNo,ADOTable1.Fields[1].AsString]);
  if MessageBox(Handle,PChar(dStr),'警告',MB_YESNO or MB_ICONWARNING)=IDNO then Abort;
end;

procedure Tfrm_table.DataSetPost1Execute(Sender: TObject);
begin
  ADOTable1.Post;
  BitBtn5.SetFocus;
end;

procedure Tfrm_table.ADOTable1RecordChangeComplete(
  DataSet: TCustomADODataSet; const Reason: TEventReason;
  const RecordCount: Integer; const Error: Error;
  var EventStatus: TEventStatus);
begin
  bModified:=True;
  MaxNo:=Max(MaxNo,ADOTable1.Fields[0].AsInteger);
end;

end.

⌨️ 快捷键说明

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