📄 table.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 + -