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

📄 managdata.~pas

📁 一个电力企业的后台管理程序
💻 ~PAS
字号:
unit ManagData;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, DBTables, ExtCtrls, ComCtrls;

type
  TManagDM = class(TDataModule)
    anyqry: TQuery;
    ranqry: TQuery;
    optqry: TQuery;
    DS_ElecOutDepart: TDataSource;
    Tbl_ElecOutDepart: TTable;
    Tbl_counseling: TTable;
    Tbl_counselingclassno: TStringField;
    Tbl_counselingonelevelno: TIntegerField;
    Tbl_counselingtwolevelno: TIntegerField;
    Tbl_counselingthreelevelno: TIntegerField;
    Tbl_counselingclassname: TStringField;
    Tbl_counselinginfotype: TIntegerField;
    Tbl_counselinginfohost: TStringField;
    Tbl_counselinginfovirtualdev: TStringField;
    Tbl_counselinginfofile: TStringField;
    Tbl_counselingvoicehost: TStringField;
    Tbl_counselingvoicevirtualdev: TStringField;
    Tbl_counselingvoicefile: TStringField;
    DataSource2: TDataSource;
    DataSource6: TDataSource;
    Qry_hostconfig: TQuery;
    Tbl_hostconfig: TQuery;
    DataSource5: TDataSource;
    Tbl_CompDepart: TTable;
    DS_CompDepart: TDataSource;
    DS_CompType: TDataSource;
    Tbl_CompType: TTable;
    Tbl_AskDepart: TTable;
    DS_AskDepart: TDataSource;
    DS_AskElecDepart: TDataSource;
    Tbl_AskElecDepart: TTable;
    Tbl_depart: TTable;
    DS_Depart: TDataSource;
    DS_WorkName: TDataSource;
    Tbl_WorkName: TTable;
    procedure Tbl_ElecOutDepartDeleteError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure Tbl_ElecOutDepartPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure Tbl_counselinginfotypeGetText(Sender: TField;
      var Text: String; DisplayText: Boolean);
    procedure Tbl_counselinginfotypeSetText(Sender: TField;
      const Text: String);
    procedure Tbl_counselingBeforePost(DataSet: TDataSet);
    procedure Tbl_counselingAfterOpen(DataSet: TDataSet);
    procedure Tbl_counselingAfterInsert(DataSet: TDataSet);
    procedure Tbl_ElecOutDepartAfterEdit(DataSet: TDataSet);
    procedure Tbl_ElecOutDepartAfterPost(DataSet: TDataSet);
    procedure Tbl_ElecOutDepartAfterScroll(DataSet: TDataSet);
    procedure Tbl_CompDepartAfterScroll(DataSet: TDataSet);
    procedure Tbl_CompTypeAfterScroll(DataSet: TDataSet);
    procedure Tbl_AskDepartAfterScroll(DataSet: TDataSet);
    procedure Tbl_AskElecDepartAfterScroll(DataSet: TDataSet);
    procedure Tbl_ElecOutDepartNewRecord(DataSet: TDataSet);
    procedure Tbl_CompDepartNewRecord(DataSet: TDataSet);
    procedure Tbl_CompTypeNewRecord(DataSet: TDataSet);
    procedure Tbl_AskDepartNewRecord(DataSet: TDataSet);
    procedure Tbl_AskElecDepartNewRecord(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
    Procedure SqlExec(query:TQuery;sqlstr:string);
    Procedure SqlPerform(query:TQuery;sqlstr:string);
  end;

var
  ManagDM: TManagDM;

const
  {Declare constants we're interested in}
  eKeyViol = 9729;
  eRequiredFieldMissing = 9732;
  eForeignKey = 9733;
  eDetailsExist = 9734;

implementation
uses systemDM, CounselingFrm, DepartmentFrm, DepartmentWorFrm;
{$R *.DFM}

procedure TManagDM.SqlExec(query:TQuery;sqlstr:string);
begin
  with query do
  begin
    close;
    sql.Clear;
    sql.Add(sqlstr);
    prepare;
    open; First;
  end;
end;

Procedure TManagDM.SqlPerform(query:TQuery;sqlstr:string);
begin
  with query do
  begin
    close;
    sql.Clear;
    sql.Add(sqlstr);
    prepare;
    ExecSql;
  end;
end;

procedure TManagDM.Tbl_ElecOutDepartDeleteError(DataSet: TDataSet;
  E: EDatabaseError; var Action: TDataAction);
begin
  if (E is EDBEngineError) then
    if (E as EDBEngineError).Errors[0].Errorcode = eDetailsExist then
    {the customer record has dependent details in the Orders table.}
    begin
      MessageDlg('To delete this record, first delete related 关键字.',
        mtWarning, [mbOK], 0);
      Abort;
    end;
end;

procedure TManagDM.Tbl_ElecOutDepartPostError(DataSet: TDataSet;
  E: EDatabaseError; var Action: TDataAction);
var
  iDBIError:integer;
begin
  if (E is EDBEngineError) then
  begin
    iDBIError := (E as EDBEngineError).Errors[0].Errorcode;
    case iDBIError of
      eRequiredFieldMissing:
        {The EmpNo field is defined as being required.}
        begin
          MessageDlg('输入内容不全!', mtWarning, [mbOK], 0);
          Abort;
        end;
      eKeyViol:
        {The primary key is OrderNo}
        begin
          MessageDlg('输入记录重复!', mtWarning,
            [mbOK], 0);
          Abort;
        end;
    end;
  end;
end;

procedure TManagDM.Tbl_counselinginfotypeGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  if not sender.IsNull then
    case sender.AsInteger of
      0:  text:='Bmp文件';
      1:  text:='Html文件';
      2:  text:='Txt文件';
      3:  text:='Excel文件';
      4:  text:='Word文件';
    else
      text:='[Error]';
    end;
end;

procedure TManagDM.Tbl_counselinginfotypeSetText(Sender: TField;
  const Text: String);
begin
  if Text='Bmp文件' then sender.Value :=0
  else if Text='Html文件' then sender.Value :=1
  else if Text='Txt文件' then sender.Value :=2
  else if Text='Excel文件' then sender.Value :=3
  else if Text='Word文件' then sender.Value :=4
  else raise Exception.Create('字段值提交错误!');
end;

procedure TManagDM.Tbl_counselingBeforePost(DataSet: TDataSet);
begin
  if tbl_Counseling.FieldByName('classname').AsString<>'' then
    if datasource2.State in [dsEdit,dsInsert] then
    begin
      if Form_Counsetling.flag then
        Form_Counsetling.treeview1.Items.AddChild(Form_Counsetling.treeview1.selected,Tbl_counseling.fieldbyname('classname').AsString)
      else
      if Form_Counsetling.TreeView1.Selected.Level<>0  then
        Form_Counsetling.TreeView1.Selected.Text:=tbl_counseling.fieldbyname('classname').AsString;
    end;
end;

procedure TManagDM.Tbl_counselingAfterOpen(DataSet: TDataSet);
begin
  if assigned(Form_Counsetling) then
  begin
    with Form_Counsetling do
    begin
      TB_add.Enabled:=true;  TB_delete.Enabled:=true;
      if Tbl_counseling.IsEmpty=true then TB_edit.Enabled:=false else TB_edit.Enabled:=true;
      TB_Refresh.Enabled:=true;
      spd_save.Enabled:=false;  spd_cancel.Enabled:=false;
    end;
  end;
end;

procedure TManagDM.Tbl_counselingAfterInsert(DataSet: TDataSet);
begin
  if assigned(Form_Counsetling) then
  begin
    with Form_Counsetling do
    begin
      TB_add.Enabled:=false;  TB_delete.Enabled:=false;
      TB_edit.Enabled:=false; TB_Refresh.Enabled:=false;
      spd_save.Enabled:=true;  spd_cancel.Enabled:=true;
    end;
  end;
end;

procedure TManagDM.Tbl_ElecOutDepartAfterEdit(DataSet: TDataSet);
begin
  Form_DepartmentWork.SetCommitStatus(TableInsert);
end;

procedure TManagDM.Tbl_ElecOutDepartAfterPost(DataSet: TDataSet);
begin
  Form_DepartmentWork.SetCommitStatus(TablePost);
end;

procedure TManagDM.Tbl_ElecOutDepartAfterScroll(DataSet: TDataSet);
begin
  //if (Tbl_ElecOutDepart.State in [dsinsert,dsedit]) then Tbl_ElecOutDepart.Cancel;
  //Form_Department.SetCommitStatus(TablePost);
end;

procedure TManagDM.Tbl_CompDepartAfterScroll(DataSet: TDataSet);
begin
  //if (Tbl_CompDepart.State in [dsinsert,dsedit]) then Tbl_CompDepart.Cancel;
  //Form_Department.SetCommitStatus(TablePost);
end;

procedure TManagDM.Tbl_CompTypeAfterScroll(DataSet: TDataSet);
begin
  //if (Tbl_CompType.State in [dsinsert,dsedit]) then Tbl_CompType.Cancel;
  //Form_Department.SetCommitStatus(TablePost);
end;

procedure TManagDM.Tbl_AskDepartAfterScroll(DataSet: TDataSet);
begin
  //if (Tbl_AskDepart.State in [dsinsert,dsedit]) then Tbl_AskDepart.Cancel;
  //Form_Department.SetCommitStatus(TablePost);
end;

procedure TManagDM.Tbl_AskElecDepartAfterScroll(DataSet: TDataSet);
begin
  //if (Tbl_AskElecDepart.State in [dsinsert,dsedit]) then Tbl_AskElecDepart.Cancel;
  //Form_Department.SetCommitStatus(TablePost);
end;

procedure TManagDM.Tbl_ElecOutDepartNewRecord(DataSet: TDataSet);
begin
  with anyqry do
  begin
    close;
    sql.Clear ;
    sql.Text :='select * from elecout_dealdept order by dealdept_no';
    open;
  end;
  Tbl_ElecOutDepart.FieldByName('dealdept_no').asinteger:=Form_Department.GetSerialNoQry(anyqry,'dealdept_no');
end;

procedure TManagDM.Tbl_CompDepartNewRecord(DataSet: TDataSet);
begin
  with anyqry do
  begin
    close;
    sql.Clear ;
    sql.Text :='select * from comp_dealdept order by dealdept_no';
    open;
  end;
  Tbl_CompDepart.FieldByName('dealdept_no').asinteger:=Form_Department.GetSerialNoQry(anyqry,'dealdept_no');
end;

procedure TManagDM.Tbl_CompTypeNewRecord(DataSet: TDataSet);
begin
  with anyqry do
  begin
    close;
    sql.Clear ;
    sql.Text :='select * from comp_type order by id';
    open;
  end;
  Tbl_CompType.FieldByName('id').asinteger:=Form_Department.GetSerialNoQry(anyqry,'id');
end;

procedure TManagDM.Tbl_AskDepartNewRecord(DataSet: TDataSet);
begin
  with anyqry do
  begin
    close;
    sql.Clear ;
    sql.Text :='select * from ask_dealdept order by dealdept_no';
    open;
  end;
  Tbl_AskDepart.FieldByName('dealdept_no').asinteger:=Form_Department.GetSerialNoQry(anyqry,'dealdept_no');
end;

procedure TManagDM.Tbl_AskElecDepartNewRecord(DataSet: TDataSet);
begin
  with anyqry do
  begin
    close;
    sql.Clear ;
    sql.Text :='select * from askelec_dealdept order by dealdept_no';
    open;
  end;
  Tbl_AskElecDepart.FieldByName('dealdept_no').asinteger:=Form_Department.GetSerialNoQry(anyqry,'dealdept_no');
end;

end.

⌨️ 快捷键说明

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