📄 unitstuinfo.pas
字号:
unit UnitStuInfo;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DBCtrls, Mask;
type
TfrmStuInfo = class(TForm)
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
eID: TDBEdit;
eName: TDBEdit;
ePassword: TDBEdit;
eAge: TDBEdit;
cSex: TDBComboBox;
eMajor: TDBEdit;
eClass: TDBEdit;
cIsAdmin: TDBComboBox;
eAddr: TDBEdit;
eTel: TDBEdit;
eEdubg: TDBEdit;
GroupBox2: TGroupBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Label12: TLabel;
eGrade: TDBEdit;
procedure disableEdit();
procedure enableEdit();
procedure fillData();
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmStuInfo: TfrmStuInfo;
implementation
uses unitDataModule;
procedure TfrmStuInfo.disableEdit();
begin
eID.readonly := true;
eName.readonly := true;
ePassword.readonly := true;
eAge.readonly := true;
cSex.readonly := true;
eMajor.readonly := true;
eGrade.ReadOnly := true;
eClass.readonly := true;
cIsAdmin.readonly := true;
eAddr.readonly := true;
eTel.readonly := true;
eEdubg.readonly := true;
end;
procedure TfrmStuInfo.enableEdit();
begin
eID.ReadOnly := false;
eName.readonly := false;
ePassword.readonly := false;
eAge.readonly := false;
cSex.readonly := false;
eMajor.readonly := false;
eGrade.ReadOnly := false;
eClass.readonly := false;
cIsAdmin.readonly := false;
eAddr.readonly := false;
eTel.readonly := false;
eEdubg.readonly := false;
end;
procedure TfrmStuInfo.fillData();
begin
with dModule.ADOQU do
begin
close;
sql.Clear;
sql.Add('select * from users order by id');
open;
last;
end;
end;
{$R *.dfm}
procedure TfrmStuInfo.FormShow(Sender: TObject);
begin
fillData;
disableEdit;
end;
procedure TfrmStuInfo.Button1Click(Sender: TObject);
begin
enableEdit;
dModule.ADOQU.Append;
eId.SetFocus;
end;
procedure TfrmStuInfo.Button4Click(Sender: TObject);
begin
try
dModule.ADOQU.Post;
disableEdit;
except
begin
messagebox(0,'输入数据有误,请检查是否已存在有相同ID编号的记录!','提示',0);
eid.SetFocus;
end;
end;
end;
procedure TfrmStuInfo.Button2Click(Sender: TObject);
begin
with dModule.ADOQU do
begin
if messagedlg('您确定要删除名为 "' + fieldbyname('name').AsString + '" 的记录吗?',mtConfirmation,[mbyes,mbno],0) = mryes then
begin
delete;
filldata;
end;
end;
end;
procedure TfrmStuInfo.Button3Click(Sender: TObject);
begin
enableEdit;
end;
procedure TfrmStuInfo.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := cafree;
end;
procedure TfrmStuInfo.Button5Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -