📄 examdesc.pas
字号:
unit ExamDesc;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RecordForm, cxStyles, cxCustomData, cxGraphics, cxFilter,
cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, DBCtrls, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGrid, ExtCtrls, StdCtrls, Buttons;
type
TFrmExamDesc = class(TFrmRecord)
Panel3: TPanel;
BtnClose: TBitBtn;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
EdtID: TEdit;
EdtSample: TEdit;
BtnNew: TBitBtn;
BtnDel: TBitBtn;
BtnEdit: TBitBtn;
BtnSave: TBitBtn;
EdtDetail: TMemo;
Label3: TLabel;
cxGrid1DBTableView1DBColumn1: TcxGridDBColumn;
cxGrid1DBTableView1DBColumn2: TcxGridDBColumn;
cxGrid1DBTableView1DBColumn3: TcxGridDBColumn;
BitBtn1: TBitBtn;
procedure BtnCloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BtnNewClick(Sender: TObject);
procedure BtnDelClick(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure BtnSaveClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
Flag:integer;
//显示数据
procedure ShowData;
//初始化
procedure IniForm;
{ Private declarations }
public
{ Public declarations }
end;
var
FrmExamDesc: TFrmExamDesc;
implementation
uses DataModule, PubFunction;
{$R *.dfm}
procedure TFrmExamDesc.BtnCloseClick(Sender: TObject);
begin
inherited;
close;
end;
procedure TFrmExamDesc.IniForm;
begin
EdtID.Text :='';
EdtSample.Text:='';
EdtDetail.Text:='';
end;
procedure TFrmExamDesc.ShowData;
begin
EdtID.Text:=ADQ.FieldByName('ID').AsString;
EdtSample.Text:=ADQ.FieldByName('SampleDesc').AsString;
EdtDetail.Text:=ADQ.FieldByName('DetailDesc').AsString;
end;
procedure TFrmExamDesc.FormCreate(Sender: TObject);
begin
inherited;
IniForm;
ShowRecord(ADQ,'*','ExamDesc','ID');
end;
procedure TFrmExamDesc.FormShow(Sender: TObject);
begin
inherited;
SetBtnStatus(BtnNew,BtnDel,BtnEdit,BtnSave,'Ini');
end;
procedure TFrmExamDesc.BtnNewClick(Sender: TObject);
begin
inherited;
Flag:=0;
EdtID.Text:=GenID('ID','ExamDesc','E');
EdtSample.SetFocus;
SetBtnStatus(BtnNew,BtnDel,BtnEdit,BtnSave,'New');
end;
procedure TFrmExamDesc.BtnDelClick(Sender: TObject);
begin
inherited;
if ADQ.IsEmpty then
exit;
if application.MessageBox('确定要删除这条记录?','提示',mb_yesno+mb_iconquestion)=idyes then
ADQ.Delete;
end;
//修改
procedure TFrmExamDesc.BtnEditClick(Sender: TObject);
begin
inherited;
if ADQ.IsEmpty then
exit;
Flag:=1;
ShowData;
SetBtnStatus(BtnNew,BtnDel,BtnEdit,BtnSave,'Edit');
end;
procedure TFrmExamDesc.BtnSaveClick(Sender: TObject);
begin
inherited;
if Trim(EdtSample.Text)='' then
begin
application.MessageBox('请输入简介!','提示',mb_ok+mb_iconinformation);
EdtSample.SetFocus;
exit;
end;
if Trim(EdtDetail.Text)='' then
begin
application.MessageBox('请输入详细!','提示',mb_ok+mb_iconinformation);
EdtDetail.SetFocus;
exit;
end;
DM.ADOCn.BeginTrans;
if Flag=0 then
begin
try
with ADQ do
begin
sql.Clear;
sql.Add('INSERT INTO ExamDesc(ID,SampleDesc,DetailDesc) VALUES (:v1,:v2,:v3)');
Parameters.ParamByName('v1').Value :=Trim(EdtID.Text);
Parameters.ParamByName('v2').Value :=Trim(EdtSample.Text);
Parameters.ParamByName('v3').Value :=Trim(EdtDetail.Text);
ExecSql;
end;
DM.ADOCn.CommitTrans;
ShowRecord(ADQ,'*','ExamDesc','ID');
SetBtnStatus(BtnNew,BtnDel,BtnEdit,BtnSave,'Ini');
IniForm;
except
on e:Exception do
begin
DM.ADOCn.RollbackTrans;
Application.MessageBox('保存失败!','警告',mb_ok+mb_iconwarning);
WriteLog('诊断描述保存失败'+e.Message);
ShowRecord(ADQ,'*','ExamDesc','ID');
end;
end;
end
else
begin
try
with ADQ do
begin
sql.Clear;
sql.Add('UPDATE ExamDesc Set SampleDesc=:v1,DetailDesc=:v2 WHERE ID=:v3');
Parameters.ParamByName('v1').Value :=Trim(EdtSample.Text);
Parameters.ParamByName('v2').Value :=Trim(EdtDetail.Text);
Parameters.ParamByName('v3').Value :=Trim(EdtID.Text);
ExecSql;
end;
DM.ADOCn.CommitTrans;
ShowRecord(ADQ,'*','ExamDesc','ID');
SetBtnStatus(BtnNew,BtnDel,BtnEdit,BtnSave,'Ini');
IniForm;
except
on e:Exception do
begin
DM.ADOCn.RollbackTrans;
WriteLog('诊断描述修改失败'+e.Message);
application.MessageBox('保存失败!','警告',mb_ok+mb_iconwarning);
ShowRecord(ADQ,'*','ExamDesc','ID');
end;
end;
end;
end;
procedure TFrmExamDesc.BitBtn1Click(Sender: TObject);
begin
inherited;
SetBtnStatus(BtnNew,BtnDel,BtnEdit,BtnSave,'Ini');
IniForm;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -