📄 editdwunit.pas
字号:
unit EditDWunit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, Buttons,dataunit;
type
TEditDWForm = class(TForm)
GroupBox1: TGroupBox;
dwgrid: TDBGrid;
DWIDedt: TEdit;
BMedt: TEdit;
DWedt: TEdit;
AddBtn: TBitBtn;
DElBtn: TBitBtn;
OKbtn: TBitBtn;
EditBtn: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure EditBtnClick(Sender: TObject);
procedure AddBtnClick(Sender: TObject);
procedure DElBtnClick(Sender: TObject);
procedure OKbtnClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure CheckDWedit;
end;
var
EditDWForm: TEditDWForm;
implementation
uses barunit;
{$R *.dfm}
Function DWIDexist(dwid:string):boolean; //单位ID是否存在
begin
result := dataform.selquy.Locate('单位编号',trim(dwid),[]);
end;
Procedure TEditDWForm.CheckDWedit;
begin
if trim(DWIDedt.Text) = '' then
begin
messagebox(application.Handle,'单位编号 不能为空!','提示',MB_OK+MB_ICONWARNING);
DWIDedt.SetFocus;
abort;
end;
if trim(bmedt.Text) = '' then
begin
messagebox(application.Handle,'部门 不能为空!','提示',MB_OK+MB_ICONWARNING);
bmedt.SetFocus;
abort;
end;
if trim(DWedt.Text) = '' then
begin
messagebox(application.Handle,'单位 不能为空!','提示',MB_OK+MB_ICONWARNING);
DWedt.SetFocus;
abort;
end;
end;
procedure TEditDWForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dataform.selquy.Close;
dataform.selquy.SQL.Clear;
action := cafree;
editdwform := nil;
end;
procedure TEditDWForm.FormCreate(Sender: TObject);
begin
dwgrid.DataSource := dataform.seldata;
with dataform.selquy do
begin
close;
sql.Clear;
sql.Add('select dw.dwtable_id,dw.dw_id as 单位编号,dw.bm as 部门,dw.dw as 单位 from dw order by dw.dw_id');
open;
end; // with
dwgrid.Columns.Items[0].Visible := false;
end;
procedure TEditDWForm.FormShow(Sender: TObject);
begin
dataform.selquy.First;
end;
procedure TEditDWForm.EditBtnClick(Sender: TObject);
var
tableid : integer;
i: variant;
begin
CheckDWedit;
tableid := dataform.selquy.Fields.fieldbyname('dwtable_id').AsInteger;
i := dataform.selquy.Lookup('单位编号',trim(DWIDedt.Text),'dwtable_id');
if (i <> null) and (integer(i) = tableid) then
begin
with dataform.CMD do
begin
commandtext := 'update dw set dw.dw_id=:dwid,dw.bm=:bm,dw.dw=:dw where dw.dwtable_id=:tableid';
parameters.ParamByName('dwid').Value := trim(DWIDedt.Text);
parameters.ParamByName('bm').Value := trim(BMedt.Text);
parameters.ParamByName('dw').Value := trim(DWedt.Text);
parameters.ParamByName('tableid').Value := tableid;
execute;
end; // with
end
else
begin
messagebox(application.Handle,'单位编号 冲突,请重新输入!','提示',MB_OK+MB_ICONWARNING);
DWIDedt.SetFocus;
abort;
end;
//重新定位记录
dataform.selquy.Requery();
dataform.selquy.Locate('dwtable_id',tableid,[]);
end;
procedure TEditDWForm.AddBtnClick(Sender: TObject);
begin
CheckDWedit;
if DWIDexist(DWIDedt.Text) then
begin
messagebox(application.Handle,'单位编号 冲突,请重新输入!','提示',MB_OK+MB_ICONWARNING);
DWIDedt.SetFocus;
abort;
end
else
begin
with dataform.CMD do
begin
commandtext := 'insert into dw (dw_id,bm,dw)values(:dwid,:bm,:dw)';
parameters.ParamByName('dwid').Value := trim(DWIDedt.Text);
parameters.ParamByName('bm').Value := trim(BMedt.Text);
parameters.ParamByName('dw').Value := trim(DWedt.Text);
execute;
end; // with
dataform.selquy.Requery();
dataform.selquy.Locate('单位编号',trim(DWIDedt.Text),[]);
end;
end;
procedure TEditDWForm.DElBtnClick(Sender: TObject);
var
i,tableid,mainid: Integer;
dwid:string;
begin
tag := 1;
tableid := dataform.selquy.Fields.fieldbyname('dwtable_id').AsInteger;
dwid := dataform.selquy.Fields.fieldbyname('单位编号').AsString;
i := messagebox(application.Handle,
'删除此单位,是否同时删除此单位的所有人员?',
'提示',mb_yesnocancel+mb_iconquestion);
case i of
2: begin //cancel
tag := 0;
dataform.selquy.EnableControls;
end;
6: begin //yes
with dataform do
begin
selquy.DisableControls;
cmd.commandtext := 'delete from dw where dwtable_id=:tableid';
cmd.Parameters.ParamByName('tableid').Value := tableid;
cmd.execute;
cmd.commandtext := 'delete from main where dw_id=:dwid';
cmd.parameters.ParamByName('dwid').Value := dwid;
cmd.execute;
with barform do
begin
initzztree;
inittree('nt',NTTree);
InitTree('ty',TYTree);
InitTree('tx',TXTree);
InitTree('js',JSTree);
end; // with
mainid := zzquy.Fields.fieldbyname('main_id').AsInteger;
zzquy.DisableControls;
zzquy.Requery();
zzquy.EnableControls;
zzquy.Locate('main_id',mainid,[]);
mainid := ntquy.Fields.fieldbyname('main_id').AsInteger;
ntquy.DisableControls;
ntquy.Requery();
ntquy.EnableControls;
ntquy.Locate('main_id',mainid,[]);
mainid := tyquy.Fields.fieldbyname('main_id').AsInteger;
tyquy.DisableControls;
tyquy.Requery();
tyquy.EnableControls;
tyquy.Locate('main_id',mainid,[]);
mainid := txquy.Fields.fieldbyname('main_id').AsInteger;
txquy.DisableControls;
txquy.Requery();
txquy.EnableControls;
txquy.Locate('main_id',mainid,[]);
mainid := jsquy.Fields.fieldbyname('main_id').AsInteger;
jsquy.DisableControls;
jsquy.Requery();
jsquy.Enablecontrols;
jsquy.Locate('main_id',mainid,[]);
tag := 0;
selquy.EnableControls;
selquy.SQL.Clear;
selquy.SQL.Add('select dw.dwtable_id,dw.dw_id as 单位编号,dw.bm as 部门,dw.dw as 单位 from dw order by dw.dw_id');
selquy.open;
end; // with
end;
7: begin //no
with dataform do
begin
cmd.commandtext := 'delete from dw where dwtable_id=:tableid';
cmd.Parameters.ParamByName('tableid').Value := tableid;
cmd.execute;
mainid := zzquy.Fields.fieldbyname('main_id').AsInteger;
zzquy.DisableControls;
zzquy.Requery();
zzquy.EnableControls;
zzquy.Locate('main_id',mainid,[]);
mainid := ntquy.Fields.fieldbyname('main_id').AsInteger;
ntquy.DisableControls;
ntquy.Requery();
ntquy.EnableControls;
ntquy.Locate('main_id',mainid,[]);
mainid := tyquy.Fields.fieldbyname('main_id').AsInteger;
tyquy.DisableControls;
tyquy.Requery();
tyquy.EnableControls;
tyquy.Locate('main_id',mainid,[]);
mainid := txquy.Fields.fieldbyname('main_id').AsInteger;
txquy.DisableControls;
txquy.Requery();
txquy.EnableControls;
txquy.Locate('main_id',mainid,[]);
mainid := jsquy.Fields.fieldbyname('main_id').AsInteger;
jsquy.DisableControls;
jsquy.Requery();
jsquy.Enablecontrols;
jsquy.Locate('main_id',mainid,[]);
tag := 0;
selquy.EnableControls;
selquy.SQL.Clear;
selquy.SQL.Add('select dw.dwtable_id,dw.dw_id as 单位编号,dw.bm as 部门,dw.dw as 单位 from dw order by dw.dw_id');
selquy.open;
end; // with
end;
end; // case
end;
procedure TEditDWForm.OKbtnClick(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -