📄 ufrmcnfgpara.pas
字号:
unit ufrmCnfgPara;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, Buttons, Db, ADODB, ExtCtrls;
type
TfrmCnfgPara = class(TForm)
Label1: TLabel;
edtUnitName: TEdit;
Label2: TLabel;
maskPw: TMaskEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
dsCfngPara: TDataSource;
adoCfngPara: TADOQuery;
Image1: TImage;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure edtUnitNameKeyPress(Sender: TObject; var Key: Char);
procedure maskPwKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
FQuery: TADOQuery;
Procedure DeleteAllHistroyData; //删除所有的历史数据
Procedure ModifyUnitName(strUnitName: String); //修改单位名称
public
{ Public declarations }
end;
var
frmCnfgPara: TfrmCnfgPara;
implementation
uses ufrmMaim, UCommon, uConst;
{$R *.DFM}
procedure TfrmCnfgPara.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCnfgPara.FormDestroy(Sender: TObject);
begin
FQuery.Free;
frmCnfgPara := nil;
end;
procedure TfrmCnfgPara.BitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TfrmCnfgPara.FormShow(Sender: TObject);
begin
Sdgl.SetConnectString(adoCfngPara);
if not adoCfngPara.Active then adoCfngPara.Open;
if adoCfngPara.RecordCount = 1 then
begin
edtUnitName.Text := adoCfngPara.Fields[0].AsString;
maskPw.Text := adoCfngPara.Fields[1].AsString;
end;
FQuery := TADOQuery.Create(Nil);
Sdgl.SetConnectString(FQuery);
end;
procedure TfrmCnfgPara.BitBtn1Click(Sender: TObject);
var
strInsert: String;
OldUnitName: String;
begin
if (Trim(edtUnitName.Text) = '') or (Trim(maskPw.Text) = '') then
begin
//todo
Sdgl.ShowErrMsg('请输入单位名称或密码!');
edtUnitName.SetFocus;
Exit;
end;
OldUnitName := Sdgl.CurUnitName;
if OldUnitName <> Trim(edtUnitName.Text) then
begin
if MessageBox(Handle, PChar(DeleteAllData), '警告', MB_OKCANCEL or MB_ICONWARNING) <> IDoK then
Exit;
end;
//todo 是否有记录
if adoCfngPara.RecordCount = 1 then
begin
strInsert := 'update CnfgPara set UseUnitName = ' + #39 + Trim(edtUnitName.Text) + #39 + ' , PassWd = ' +
#39 + Trim(maskPw.Text) + #39;
end
else begin
strInsert := 'Insert into CnfgPara values(' + #39 + Trim(edtUnitName.Text) + #39 + ',' +
#39 + Trim(maskPw.Text) + #39 + ')';
end;
with adoCfngPara do
begin
Close;
SQL.Clear;
SQL.Text := strInsert;
try
ExecSQL;
Sdgl.ShowErrMsg('数据提交完成!');
frmCnfgPara.Close;
except
Sdgl.ShowErrMsg('提交数据出错!');
Exit;
end;
end;
if OldUnitName <> Trim(edtUnitName.Text) then //改变了使用单位的名称
DeleteAllHistroyData;
ModifyUnitName(Trim(edtUnitName.Text)); //修改车间表中的单位名称
end;
procedure TfrmCnfgPara.edtUnitNameKeyPress(Sender: TObject; var Key: Char);
begin
if (key = #13) then
if (Trim(edtUnitName.Text) <> '') then
maskPw.SetFocus
else begin
Sdgl.ShowErrMsg('请输入单位名称或密码!');
end;
end;
procedure TfrmCnfgPara.maskPwKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
if (Trim(edtUnitName.Text) <> '') and (Trim(maskPw.Text) <> '') then
BitBtn1Click(Sender)
else begin
Sdgl.ShowErrMsg('请输入单位名称或密码!');
edtUnitName.SetFocus;
end;
end;
procedure TfrmCnfgPara.DeleteAllHistroyData;
var
strDelete: Array[1..4] of String;
I: Integer;
begin
{FQuery := TADOQuery.Create(Nil);
Sdgl.SetConnectString(FQuery);}
strDelete[1] := 'delete from TakeMeter';
strDelete[2] := 'delete from Meter';
strDelete[3] := 'delete from Price';
strDelete[4] := 'delete from Workshop';
with FQuery do begin
for I := Low(strDelete) to High(strDelete) do begin
Close;
SQL.Clear;
SQL.Text := strDelete[I];
try
ExecSQL;
except
//
end;
end;
//Free;
end;
end;
procedure TfrmCnfgPara.ModifyUnitName(strUnitName: String);
var
strUnitSQL: String;
begin
with FQuery do begin
if Sdgl.CurUnitName = '' then
strUnitSQL := 'insert into workshop values ('+ '1, '+ #39+ strUnitName + #39 + ' ,0,' + #39 + strUnitName+ #39 + ',0)'
else
strUnitSQL := 'update workshop set WrokShopName = '+ #39 + strUnitName +#39;
Close;
SQL.Clear;
SQL.Text := strUnitSQL;
try
ExecSQL;
except
//
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -