⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ufrmcnfgpara.pas

📁 水电管理系统,介绍了水电管理系统的基本结构和基本功能,对进行这方面的开发人员有一定帮助
💻 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 + -