📄 unit_setupgrade.pas
字号:
unit Unit_SetupGrade;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Unit_Config, Db, DBTables, StdCtrls, TFlatEditUnit, TFlatButtonUnit,
ExtCtrls, Grids, DBGrids;
type
TFrm_SetupGrade = class(TFrm_Config)
Label1: TLabel;
Label2: TLabel;
FlatEdit2: TFlatEdit;
FlatEdit3: TFlatEdit;
UpdateSQL1: TUpdateSQL;
procedure BitBtnAddClick(Sender: TObject);
procedure BitBtnAlterClick(Sender: TObject);
procedure BitBtnDelClick(Sender: TObject);
procedure BitBtnSaveClick(Sender: TObject);
procedure Query_PUBAfterScroll(DataSet: TDataSet);
procedure BitBtnCancelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure sqlcommit;
procedure FlatEdit1KeyPress(Sender: TObject; var Key: Char);
procedure FlatEdit2KeyPress(Sender: TObject; var Key: Char);
procedure FlatEdit3KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
//当前的节日编码
P_CurrentCode :string;
//判断是否为插入状态
P_Insert :boolean;
public
{ Public declarations }
end;
var
Frm_SetupGrade: TFrm_SetupGrade;
implementation
uses dmmain,unit_public,main;
{$R *.DFM}
procedure TFrm_SetupGrade.BitBtnAddClick(Sender: TObject);
begin
inherited;
kk:=1;
FlatEdit1.Text:='';
FlatEdit2.Text:='';
FlatEdit3.Text:='';
FlatEdit1.Enabled :=true;
FlatEdit2.Enabled :=true;
FlatEdit3.Enabled :=true;
FlatEdit1.SetFocus;
//ShowMessage(' 请输入等级内容! ');
SetBitBtn(false);
//with Query_PUB do
//begin
// if Not Active then
// Active:=true;
//end;
SetBitBtn(false);
end;
procedure TFrm_SetupGrade.BitBtnAlterClick(Sender: TObject);
begin
inherited;
kk := 2;
//ShowMessage(' 请输入需要修改的等级内容! ');
FlatEdit1.SelectAll;
FlatEdit1.Enabled :=true;
FlatEdit2.Enabled :=true;
FlatEdit3.Enabled :=true;
FlatEdit1.SetFocus;
SetBitBtn(false);
//Query_PUBAfterScroll(nil);
end;
procedure TFrm_SetupGrade.BitBtnDelClick(Sender: TObject);
var
sql:string;
begin
inherited;
//if (Application.MessageBox('是否要删除该记录?',
// '提示',MB_OKCANCEL)=IDCANCEL) then exit;
if MessageDlg('是否要删除该记录?',mtConfirmation, [mbYes,mbNo], 0)=mrNo then exit;
//Dm_Main.Databasedh.StartTransaction;
Sql :='Delete t_d_grade where GRADENO='+#39+
Query_PUB.FieldByName('GRADENO').AsString+#39;
if AnalyzeSql(SQL)=1 then exit;
FlatEdit1.text :='';
FlatEdit2.text :='';
FlatEdit3.Text :='';
Query_Pub.Delete;
//Query_Pub.Close;
//Query_Pub.Open;
Query_PUBAfterScroll(nil);
end;
procedure TFrm_SetupGrade.BitBtnSaveClick(Sender: TObject);
var
xlh, editxlh,sql : string;
begin
inherited;
//提示是否更新
if kk=2 then
//if (Application.MessageBox('是否要更新该记录?',
// '提示',MB_OKCANCEL)=IDCANCEL) then exit;
if MessageDlg('是否要更新该记录?',mtConfirmation, [mbYes,mbNo], 0)=mrNo then exit;
if trim(FlatEdit1.Text) ='' then
begin
MessageDlg('等级描述字段不能为空!',mtConfirmation, [mbYes], 0);
exit;
end;
if trim(FlatEdit2.Text) ='' then
begin
MessageDlg('等级上限字段不能为空!',mtConfirmation, [mbYes], 0);
exit;
end;
if trim(FlatEdit3.Text) ='' then
begin
MessageDlg('等级下限字段不能为空!',mtConfirmation, [mbYes], 0);
exit;
end;
if length(FlatEdit1.Text) >20 then
begin
MessageDlg('等级描述字段超过长度!',mtConfirmation, [mbYes], 0);
exit;
end;
if FlatEdit2.text <>'' then
if strtoint(FlatEdit2.Text) >99999999 then
begin
MessageDlg('等级上限字段超过长度!',mtConfirmation, [mbYes], 0);
exit;
end;
if FlatEdit3.text <>'' then
if strtoint(FlatEdit3.Text) >99999999 then
begin
MessageDlg('等级下限字段超过长度!',mtConfirmation, [mbYes], 0);
exit;
end;
if strtoint(FlatEdit3.Text) >=strtoint(FlatEdit2.Text) then
begin
MessageDlg('等级下限不能大于等于等级上限!',mtConfirmation, [mbYes], 0);
exit;
end;
case kk of
1: // add
Begin
Query_Tmp.Close;
Query_Tmp.SQL.Clear;
Query_Tmp.SQL.Add(' select SEQ_GRADENO.nextval xlh from dual');
Query_Tmp.Open;
xlh := Query_Tmp.FieldByName('xlh').AsString;
Sql :='insert into t_d_grade(GRADENO,DESCRIPTION,UPPERLIMIT,LOWERLIMIT) '
+' values('+xlh+','+#39+FlatEdit1.Text+#39+',';
if trim(FlatEdit2.Text)<>'' then
Sql :=Sql+FlatEdit2.Text+','
else
Sql :=Sql+'Null'+',';
if trim(FlatEdit3.Text) <>'' then
Sql :=Sql+FlatEdit3.Text+')'
else
Sql :=Sql+'NULL'+')';
if AnalyzeSql(SQL)=1 then exit;
end;
2: // edit
begin
Sql :='update t_d_grade set DESCRIPTION='+#39+FlatEdit1.Text+#39+','
+'UPPERLIMIT=';
if trim(FlatEdit2.Text)<>'' then
Sql :=Sql+FlatEdit2.Text+','
else
Sql :=Sql+'Null'+',';
Sql :=Sql+'LOWERLIMIT=';
if trim(FlatEdit3.Text) <>'' then
Sql :=Sql+FlatEdit3.Text
else
Sql :=Sql+'NULL';
Sql :=Sql+' where GRADENO='+#39+Query_PUB.FieldByName('GRADENO').AsString+#39;
if AnalyzeSql(SQL)=1 then exit;
end;
end;
//Dm_Main.Databasedh.Commit;
//Query_Pub.Close;
//Query_Pub.Open;
{
if kk=1 then
Query_Pub.Locate('GRADENO', xlh, [])
else
Query_Pub.Locate('GRADENO', editxlh, []); }
//*************数据同步********************
case kk of
1: // add
Begin
P_Insert :=true;
Query_Pub.insert;
Query_Tmp.close;
Query_Tmp.sql.text := //大小写问题Diploma_ID
'select nvl(max(GRADENO),0) from t_d_grade';
Query_Tmp.open;
P_CurrentCode :=Query_Tmp.fields[0].asstring;
end;
2: // edit
begin
P_Insert :=true;
Query_Pub.Edit;
end;
end;
Query_PUB.FieldByName('DESCRIPTION').AsString :=FlatEdit1.Text;
Query_PUB.FieldByName('UPPERLIMIT').AsString :=FlatEdit2.Text;
Query_PUB.FieldByName('LOWERLIMIT').AsString :=FlatEdit3.Text;
Query_PUB.FieldByName('GRADENO').AsString :=P_CurrentCode;
P_Insert :=false;
Query_Pub.Post;
//*****************************************
SetBitBtn(true);
Query_PUBAfterScroll(nil);
end;
procedure TFrm_SetupGrade.Query_PUBAfterScroll(DataSet: TDataSet);
begin
inherited;
FlatEdit1.Enabled :=false;
FlatEdit2.Enabled :=false;
FlatEdit3.Enabled :=false;
if P_Insert then exit;
FlatEdit1.Text := Query_PUB.fieldbyname('DESCRIPTION').AsString;
FlatEdit2.Text := Query_PUB.fieldbyname('UPPERLIMIT').AsString;
FlatEdit3.Text := Query_PUB.fieldbyname('LOWERLIMIT').AsString;
P_CurrentCode := Query_PUB.FieldByName('GRADENO').AsString;
//***********当没有记录时要控制按钮及权限************
If not(Query_PuB.bof and Query_PuB.eof) Then
begin
//
BitBtnAlter.Enabled:=true;
//权限
BitBtnAlter.Enabled:=(JBDM<=2);
BitBtnAdd.Enabled:=false;
BitBtnDel.Enabled:=false;
end
else
begin
BitBtnAdd.Enabled:=false;
BitBtnAlter.Enabled:=false;
BitBtnDel.Enabled:=false;
end;
//*******************************************
end;
procedure TFrm_SetupGrade.BitBtnCancelClick(Sender: TObject);
begin
inherited;
Query_PUBAfterScroll(nil);
end;
procedure TFrm_SetupGrade.FormShow(Sender: TObject);
begin
inherited;
P_Insert :=false;
SetBitBtn(true);
//修改部分 2001-07-10 ChenQingBo
BitBtnAlter.Enabled:=(JBDM<=2);
BitBtnAdd.Enabled:=false;
BitBtnDel.Enabled:=false;
Query_PUBAfterScroll(nil);
end;
procedure TFrm_SetupGrade.sqlcommit;
begin
with Query_Tmp do
begin
Close;
Sql.Clear;
Sql.Add('commit');
ExecSql;
end;
end;
procedure TFrm_SetupGrade.FlatEdit1KeyPress(Sender: TObject;
var Key: Char);
begin
inherited;
if key = #13 then FlatEdit2.SetFocus;
end;
procedure TFrm_SetupGrade.FlatEdit2KeyPress(Sender: TObject;
var Key: Char);
begin
inherited;
if not (key in ['0'..'9', #13, #8]) then key := #0;
if key = #13 then FlatEdit3.SetFocus;
end;
procedure TFrm_SetupGrade.FlatEdit3KeyPress(Sender: TObject;
var Key: Char);
begin
inherited;
if not (key in ['0'..'9', #13, #8]) then key := #0;
if key = #13 then BitBtnSaveClick(nil);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -