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

📄 unemployee.pas

📁 设备巡检操作系统 本程序是专门为某电厂开发的设备巡检系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  Tbnsv.Enabled:=True;
  TbnFirst.Enabled:=False;
  TbnPrior.Enabled:=False;
  TbnNext.Enabled:=False;
  TbnLast.Enabled:=False;

  //showmessage(FormatMe(strtoint(edit2.Text),strtoint(edit1.Text)));
  with dm.AQ1 do
  begin
    DM.AdoConn.BeginTrans;
    DBGrid1.Enabled:=False;
    Edit;
  end;
end;



procedure TEmployee_Frm.TbndelClick(Sender: TObject);
var
  adoq_tmp:TADOQuery;
begin
  if not DelUser then exit;
  with dm.AQ1 do
  begin
    if not Active then exit;
    if RecordCount>0 then
    begin
      if fieldbyname('No').AsString=copy(UserName,1,4) then
      begin
        MessageBox(Handle,'用户自己不能删除自己','提示',MB_OK+MB_ICONINFORMATION);
        Exit;
      end;
      if  MessageBox(self.Handle,'你真的想删除么?','删除提示',MB_YESNO+MB_ICONQUESTION)=idyes then
      begin
        try
        adoq_tmp:=TADOQuery.Create(self);
        dm.AdoConn.BeginTrans;
        adoq_tmp.Connection:=DM.AdoConn;
        adoq_tmp.Close;
        adoq_tmp.SQL.Text:='delete FROM T_NCPT where perno='+quotedstr(dm.aq1.fieldbyname('no').AsString);
        adoq_tmp.ExecSQL;
        adoq_tmp.Close;
        adoq_tmp.SQL.text:='delete FROM t_bdata where perno='+quotedstr(dm.aq1.fieldbyname('no').AsString);
        adoq_tmp.ExecSQL;
        dm.AQ1.Delete;
        dm.AQ1.Refresh;
        dm.AdoConn.CommitTrans;adoq_tmp.Free;
        with AdoRY do
        begin
          Active:=not Active;
          SQL.Text:='select * from abc order by 人员编号';
          Prepared:=True;
          Open;
        end;
        listrec(dm.AQ1);
        except
          DM.AdoConn.RollbackTrans;    adoq_tmp.Free;
          MessageBox(self.Handle,'删除数据失败!','删除',MB_OK+MB_ICONINFORMATION);
        end;
      end;
    end;
  end;
end;

procedure TEmployee_Frm.listrec(adotmp: TADOQuery);
begin
  with adotmp do
  begin
  if adotmp.Recordset.RecordCount <=0 then exit;
  edit1.Text:=Fieldbyname('username').AsString;
  edit2.Text:=Fieldbyname('Password').AsString;
  edit3.Text:=fieldbyname('Prefession').AsString;
  edit4.Text:=fieldbyname('Remark').AsString;
  Cbx_Purview.ItemIndex:=fieldbyname('Purview').AsInteger;
  try
    AdoRY.RecNo:=RecNo;
    Cbx_Dept.Text:=fieldbyname('DeptNo').AsString+'-'+AdoRY.fieldbyname('部门名称').AsString;
  except
  end;
 end;
end;

procedure TEmployee_Frm.TbnFirstClick(Sender: TObject);
begin
  dm.AQ1.First;
  dm.AQ1.Refresh;
listrec(dm.AQ1);
end;

procedure TEmployee_Frm.TbnPriorClick(Sender: TObject);
begin
  dm.AQ1.Prior;
  dm.AQ1.Refresh;
listrec(dm.AQ1);

end;

procedure TEmployee_Frm.TbnNextClick(Sender: TObject);
begin
  dm.AQ1.Next;
  dm.AQ1.Refresh;
listrec(dm.AQ1);
end;

procedure TEmployee_Frm.TbnLastClick(Sender: TObject);
begin
  dm.AQ1.Last;
  dm.AQ1.Refresh;
listrec(dm.AQ1);
end;

procedure TEmployee_Frm.ToolButton15Click(Sender: TObject);
begin
  Tbncel.Click;
  Close;
end;

procedure TEmployee_Frm.TbncelClick(Sender: TObject);
begin
  if (DM.AQ1.State in [dsInsert]) or (DM.AQ1.State in [dsEdit]) then
  try
    DBGrid1.Enabled:=True;
    DM.AdoConn.Cancel;
    if DM.AdoConn.InTransaction then
      dm.AdoConn.RollbackTrans;
  except
  end;
  tbnadd.Enabled:=True;
  Tbnedt.Enabled:=True;
  Tbnview.Enabled:=True;
  Tbndel.Enabled:=True;
  Tbncel.Enabled:=False;
  Tbnsv.Enabled:=False;
  TbnFirst.Enabled:=True;
  TbnPrior.Enabled:=True;
  TbnNext.Enabled:=True;
  TbnLast.Enabled:=True;
end;

function TEmployee_Frm.ControlEdit: boolean;
begin
  result:=True;
  if edit1.Text='' then
  begin
    application.MessageBox('请输入用户名!','提示',MB_OK+MB_ICONINFORMATION);
    edit1.SetFocus;
    result:=False;
    exit;
  end;
  if edit2.Text='' then
  begin
    application.MessageBox('请输入密码!','提示',MB_OK+MB_ICONINFORMATION);
    edit1.SetFocus;
    result:=False;
    exit;
  end;
  if Cbx_Dept.Text='' then
  begin
    application.MessageBox('请选择部门!','提示',MB_OK+MB_ICONINFORMATION);
    edit1.SetFocus;
    result:=False;
    exit;
  end;
  if Cbx_Purview.Text='' then
  begin
    application.MessageBox('请选择权限!','提示',MB_OK+MB_ICONINFORMATION);
    edit1.SetFocus;
    result:=False;
    exit;
  end;
  if edit3.Text='' then
  begin
    application.MessageBox('请输入岗位!','提示',MB_OK+MB_ICONINFORMATION);
    edit1.SetFocus;
    result:=False;
    exit;
  end;
end;

procedure TEmployee_Frm.DBGrid1CellClick(Column: TColumn);
begin
  if DS.DataSet.RecordCount<=0 then exit;
  dm.AQ1.Locate('no',ds.DataSet.fieldbyname('人员编号').AsString,[loPartialKey]);
  listrec(dm.AQ1);
end;

procedure TEmployee_Frm.DBGrid1DrawDataCell(Sender: TObject;
  const Rect: TRect; Field: TField; State: TGridDrawState);
begin
{  if Field.FieldName='用户权限' then
  begin
    if Field.Value=1 then
      field.Value:='高级用户'
    else
      field.Value:='普通用户';
  end;  }

end;

procedure TEmployee_Frm.AdoRYNewRecord(DataSet: TDataSet);
begin
  //
end;

procedure TEmployee_Frm.AdoRYFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
  //
end;

procedure TEmployee_Frm.AdoRYRecordChangeComplete(
  DataSet: TCustomADODataSet; const Reason: TEventReason;
  const RecordCount: Integer; const Error: Error;
  var EventStatus: TEventStatus);
begin
  //
end;

procedure TEmployee_Frm.AdoRYRecordsetChangeComplete(
  DataSet: TCustomADODataSet; const Reason: TEventReason;
  const Error: Error; var EventStatus: TEventStatus);
begin
  //dm.AQ1.Locate('no',ds.DataSet.fieldbyname('人员编号').AsString,[loCaseInsensitive]);
  //listrec(dm.AQ1);
end;

procedure TEmployee_Frm.AdoRYWillMove(DataSet: TCustomADODataSet;
  const Reason: TEventReason; var EventStatus: TEventStatus);
begin
  //dm.AQ1.Locate('no',ds.DataSet.fieldbyname('人员编号').AsString,[loCaseInsensitive]);
  //listrec(dm.AQ1);
end;

procedure TEmployee_Frm.TbnviewClick(Sender: TObject);
begin
  EmployeeFind_frm:=TEmployeeFind_frm.Create(nil);
  EmployeeFind_frm.Show;
end;

procedure TEmployee_Frm.SpeedButton1Click(Sender: TObject);
begin
  Dept_frm:=TDept_frm.Create(nil);
  Dept_frm.Show;
end;

procedure TEmployee_Frm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action:=cafree;   Employee_Frm:=nil;
end;

procedure TEmployee_Frm.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if gdSelected in State then     exit;

    if AdoRY.RecNo mod 2 = 0 then
      (Sender as TDBGrid).Canvas.Brush.Color := rgb(225,249,255)//rgb(253,255,253),clinfobk , RGB(226, 253, 254);
  else
    (Sender as TDBGrid).Canvas.Brush.Color := rgb(255,255,240);//
  DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

function TEmployee_Frm.DelUser: boolean;
var
  ado_tmp:TADOQuery;
begin
  if not AnsiContainsText(UserName,'admin') then
    if dm.AQ1.FieldByName('purview').AsString='1' then
    begin
      Application.MessageBox('对不起,你的权限不够!','提示',MB_OK+MB_ICONINFORMATION);
      Result:=False;
      Exit;
  end;
  ado_tmp:=TADOQuery.Create(self);
  with ado_tmp do
  begin
    try
    Connection:=DM.AdoConn;
    SQL.Text:='select * from T_employee where purview=1';
    open;
    If Recordset.RecordCount<=1 then begin
      Application.MessageBox('不能删除此用户,系统至少保留一个高级用户!','提示',MB_OK+MB_ICONINFORMATION);
      Result:=False;
    end else Result:=True;
    Free;
    except
      Result:=False;
      Free;
    end;
  end;
end;

procedure TEmployee_Frm.Cbx_PurviewClick(Sender: TObject);
begin
  if not AnsiContainsText(UserName,'admin') then
    Cbx_Purview.ItemIndex:=0;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -