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

📄 undept.pas

📁 设备巡检操作系统 本程序是专门为某电厂开发的设备巡检系统
💻 PAS
字号:
unit UnDept;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,AdoDB,DB, StdCtrls, Grids, DBGrids, Buttons;

type
  TDept_frm = class(TForm)
    DS: TDataSource;
    DBGrid1: TDBGrid;
    Edit1: TEdit;
    Label2: TLabel;
    AdoQdept: TADOQuery;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    BitBtn1: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure Edit1Enter(Sender: TObject);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private declarations }
    adocn:TADOConnection;
  public
    { Public declarations }
  end;

var
  Dept_frm: TDept_frm;

implementation

uses Undm, UnFuntion, UnMain;

{$R *.dfm}

procedure TDept_frm.FormCreate(Sender: TObject);
begin
  adocn:=TADOConnection.Create(self);
  adocn.ConnectionString:=Connstr;
  adocn.LoginPrompt:=False;
  adocn.Connected:=true;
  with  AdoQdept do begin
    Connection:=adocn;
    SQL.Text:='select * from T_dept order by deptno';
    Prepared:=True;
    Open;
  end;
  if DS.DataSet.RecordCount>0 then
    Edit1.Text:=DS.DataSet.fieldbyname('deptname').AsString;
end;

procedure TDept_frm.DBGrid1DblClick(Sender: TObject);
begin
  if DS.DataSet.RecordCount<=0 then exit;
  Edit1.Text:=DS.DataSet.fieldbyname('deptname').AsString;
end;

procedure TDept_frm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  main_frm.panel4.Caption:='';  Action:=cafree; Dept_frm:=nil;
end;

procedure TDept_frm.SpeedButton1Click(Sender: TObject);
var
  sql:string;
  adoTmp:TADOQuery;
  i_d:integer;
begin
  i_d:=0;sql:='';
  adotmp:=TADOQuery.Create(nil);
  with adoTmp do begin
    try
    Connection:=DM.AdoConn;
    SQL.Clear;
    SQL.Text:='select * from T_dept where deptname='+quotedstr(edit1.Text);
    Prepared:=True;
    Open;
    if not eof then
      i_d:=1;
    finally
      Free;
    end;
  end;
  if i_d=1 then
  begin
    Application.MessageBox('对不起,此专业已经存在,请重试','提示',MB_OK+MB_ICONEXCLAMATION);
    Exit;
  end;
  with AdoQdept do begin
    try
      adocn.BeginTrans;
      Append;
      FieldByName('deptno').AsString:=FormatMe(Qbh('T_dept','deptno'),2);
      FieldByName('deptname').AsString:=edit1.Text;
      Update;
      Refresh;
      adocn.CommitTrans;
      Application.MessageBox('专业增加成功!','提示',MB_OK+MB_ICONINFORMATION);
    except
      Cancel;
      adocn.RollbackTrans;
      Application.MessageBox('数据库操作失败,请退出重新打开程序再试!','提示',MB_OK+MB_ICONERROR);
    end;
  end;
end;

procedure TDept_frm.SpeedButton2Click(Sender: TObject);
var
  sql:string;
  adoTmp:TADOQuery;
  i_d:integer;
begin
  sql:='';
  if AdoQdept.Recordset.RecordCount<= 0 then exit;
  i_d:=0;
  adotmp:=TADOQuery.Create(nil);
  with adoTmp do begin
    try
    Connection:=DM.AdoConn;
    SQL.Clear;
    SQL.Text:='select * from T_employee where deptno='+quotedstr(ds.DataSet.fieldbyname('deptno').AsString);
    Prepared:=True;
    Open;
    if not eof then
      i_d:=1;
    finally
      Free;
    end;
  end;
  if i_d=1 then
  begin
    Application.MessageBox('对不起,此专业有人员信息,不能删除','提示',MB_OK+MB_ICONEXCLAMATION);
    Exit;
  end;
  if Application.MessageBox('你真的想删除此专业么?','删除提示',MB_YESNO+MB_ICONQUESTION)=idno then exit;
  with adoqdept do
  begin
    try
      adocn.BeginTrans;
      Delete;
      Refresh;
      adocn.CommitTrans;
    except
      adocn.RollbackTrans;
      Application.MessageBox('数据库操作失败,请退出重新打开程序再试!','提示',MB_OK+MB_ICONERROR);
    end;
  end;
  if DS.DataSet.RecordCount>0 then
    Edit1.Text:=DS.DataSet.fieldbyname('deptname').AsString;
end;

procedure TDept_frm.SpeedButton3Click(Sender: TObject);
var
  sql:string;
  adoTmp:TADOQuery;
  i_d:integer;
begin
  sql:='';
  if AdoQdept.Recordset.RecordCount<=0 then exit;
    i_d:=0;
  adotmp:=TADOQuery.Create(nil);
  with adoTmp do begin
    try
    Connection:=DM.AdoConn;
    SQL.Clear;
    SQL.Text:='select * from T_dept where deptname='+quotedstr(edit1.Text);
    Prepared:=True;
    Open;
    if not eof then
      i_d:=1;
    finally
      Free;
    end;
  end;
  if i_d=1 then
  begin
    Application.MessageBox('对不起,此专业已经存在,请重试','提示',MB_OK+MB_ICONEXCLAMATION);
    Exit;
  end;

  with AdoQdept do begin
    try
      adocn.BeginTrans;
      Edit;
      FieldByName('deptname').AsString:=edit1.Text;
      Update;
      Refresh;
      adocn.CommitTrans;
      Application.MessageBox('专业修改成功!','提示',MB_OK+MB_ICONINFORMATION);
    except
      Cancel;
      adocn.RollbackTrans;
      Application.MessageBox('数据库操作失败,请退出重新打开程序再试!','提示',MB_OK+MB_ICONERROR);
    end;
  end;
end;

procedure TDept_frm.BitBtn1Click(Sender: TObject);
begin
  Close;
end;

procedure TDept_frm.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if gdSelected in State then exit;
    if AdoQdept.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;

procedure TDept_frm.Edit1Enter(Sender: TObject);
begin
  Main_Frm.Panel4.Caption:=Edit1.Hint;
end;

procedure TDept_frm.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Main_Frm.Panel4.Caption:='专业设置';
end;

end.


⌨️ 快捷键说明

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