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

📄 maindb.pas

📁 这是一个正式的项目工程
💻 PAS
字号:
unit MainDB;

interface

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

type
  TdmMainDB = class(TDataModule)
    MainDB: TDatabase;
    tbCodeDetail: TTable;
    tbCodeDetailClass: TStringField;
    tbCodeDetailACode: TStringField;
    tbCodeDetailCodeMeaning: TStringField;
    tbCodeDetailParentCode: TStringField;
    tbCodeDetailRemark: TStringField;
    dsCodeDetail: TDataSource;
    tbCodes: TTable;
    tbCodesClass: TStringField;
    tbCodesMeaning: TStringField;
    tbCodesRemark: TStringField;
    dsCodes: TDataSource;
    tbExtension: TTable;
    dsExtension: TDataSource;
    tbExtensionGroupID: TSmallintField;
    tbExtensionExtensionID: TSmallintField;
    tbExtensionGravity: TFloatField;
    qryPublic: TQuery;
    ViewGEDetail: TTable;
    dsViewGEDetail: TDataSource;
    ViewGEDetailProjectID: TStringField;
    ViewGEDetailHourseID: TStringField;
    ViewGEDetailGroupID: TStringField;
    ViewGEDetailExtensionID: TStringField;
    ViewGroupID: TTable;
    ViewExtensionID: TTable;
    ViewGroupIDClass: TStringField;
    ViewGroupIDACode: TStringField;
    ViewGroupIDCodeMeaning: TStringField;
    ViewExtensionIDClass: TStringField;
    ViewExtensionIDACode: TStringField;
    ViewExtensionIDCodeMeaning: TStringField;
    ViewGEDetailExtensionIDLookup: TStringField;
    ViewGEMaster: TTable;
    dsViewGEMaster: TDataSource;
    ViewGEMasterProjectID: TStringField;
    ViewGEMasterHourseID: TStringField;
    ViewGEMasterGroupID: TStringField;
    ViewGEMasterGroupIdLookup: TStringField;
    ViewProjectID: TTable;
    dsViewProjectID: TDataSource;
    ViewPH: TTable;
    dsViewPH: TDataSource;
    ViewProjectIDClass: TStringField;
    ViewProjectIDACode: TStringField;
    ViewProjectIDCodeMeaning: TStringField;
    ViewPHProjectID: TStringField;
    ViewPHHourseID: TStringField;
    ViewHourseID: TTable;
    ViewPHHourseIDLookup: TStringField;
    ViewHourseIDClass: TStringField;
    ViewHourseIDACode: TStringField;
    ViewHourseIDCodeMeaning: TStringField;
    ViewPHG: TTable;
    dsViewPHG: TDataSource;
    ViewPHGProjectID: TStringField;
    ViewPHGHourseID: TStringField;
    ViewPHGGroupID: TStringField;
    ViewPHGGroupIDlookup: TStringField;
    tbGE: TTable;
    dsGE: TDataSource;
    tbGEProjectID: TStringField;
    tbGEHourseID: TStringField;
    tbGEGroupID: TStringField;
    tbGEExtensionID: TStringField;
    tbGEExtensionIDLookup: TStringField;
    tbPHG: TTable;
    dsPHG: TDataSource;
    tbPHGProjectID: TStringField;
    tbPHGHourseID: TStringField;
    tbPHGGroupID: TStringField;
    tbPHGGroupIDLookup: TStringField;
    tbPH: TTable;
    dsPH: TDataSource;
    tbPHProjectID: TStringField;
    tbPHHourseID: TStringField;
    tbPHRemark: TStringField;
    tbPHHourseIDLookup: TStringField;
    ViewLog: TTable;
    dsViewLog: TDataSource;
    ViewLogUserName: TStringField;
    ViewLogOperation: TStringField;
    ViewLogDDate: TDateField;
    ViewLogDTime: TTimeField;
    ViewLogRemark: TStringField;
    tbOriginData: TTable;
    dsOriginData: TDataSource;
    tbOriginDataAutoInc: TAutoIncField;
    tbOriginDataDDate: TDateTimeField;
    tbOriginDataHourseID: TStringField;
    tbOriginDataExtensionID: TStringField;
    tbOriginDataGravity: TFloatField;
    tbOriginDataHeight: TFloatField;
    tbOriginDataHorizonDiff: TFloatField;
    tbOriginDataStandardG: TFloatField;
    tbOriginDataAverageG: TFloatField;
    tbOriginDataAverageH: TFloatField;
    tbOriginDataState: TStringField;
    tbStandardG: TTable;
    dsStandardG: TDataSource;
    tbStandardGAutoInc: TAutoIncField;
    tbStandardGHourseID: TStringField;
    tbStandardGExtensionID: TStringField;
    tbStandardGValue: TFloatField;
    tbOriginDataFlag: TStringField;
    procedure tbGEAfterPost(DataSet: TDataSet);
    procedure tbGEAfterDelete(DataSet: TDataSet);
    procedure tbPHGAfterPost(DataSet: TDataSet);
    procedure tbPHGAfterDelete(DataSet: TDataSet);
    procedure tbPHAfterPost(DataSet: TDataSet);
    procedure tbPHAfterDelete(DataSet: TDataSet);
    procedure DataModuleCreate(Sender: TObject);
    procedure DataModuleDestroy(Sender: TObject);
    procedure tbExtensionAfterPost(DataSet: TDataSet);
    procedure tbExtensionAfterDelete(DataSet: TDataSet);
    procedure tbCodeDetailBeforeDelete(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  dmMainDB: TdmMainDB;

implementation

{$R *.DFM}

procedure TdmMainDB.tbGEAfterPost(DataSet: TDataSet);
begin
  tbGE.ApplyUpdates;
  tbGE.CommitUpdates;

end;

procedure TdmMainDB.tbGEAfterDelete(DataSet: TDataSet);
begin
  tbGE.ApplyUpdates;
  tbGE.CommitUpdates;
end;

procedure TdmMainDB.tbPHGAfterPost(DataSet: TDataSet);
begin
  tbPHG.ApplyUpdates;
  tbPHG.CommitUpdates;

end;

procedure TdmMainDB.tbPHGAfterDelete(DataSet: TDataSet);
begin
  tbPHG.ApplyUpdates;
  tbPHG.CommitUpdates;
end;

procedure TdmMainDB.tbPHAfterPost(DataSet: TDataSet);
begin
  tbPH.ApplyUpdates;
  tbPH.CommitUpdates;
end;

procedure TdmMainDB.tbPHAfterDelete(DataSet: TDataSet);
begin
  tbPH.ApplyUpdates;
  tbPH.CommitUpdates;
end;

procedure TdmMainDB.DataModuleCreate(Sender: TObject);
begin
  MainDB.Connected:=True;
end;

procedure TdmMainDB.DataModuleDestroy(Sender: TObject);
begin
  MainDB.Connected:=False;
end;

procedure TdmMainDB.tbExtensionAfterPost(DataSet: TDataSet);
begin
  tbExtension.ApplyUpdates;
end;

procedure TdmMainDB.tbExtensionAfterDelete(DataSet: TDataSet);
begin
  tbExtension.ApplyUpdates;
end;

procedure TdmMainDB.tbCodeDetailBeforeDelete(DataSet: TDataSet);
var
  StrID:String;
begin
  StrID:='';
  if Uppercase(Trim(tbCodeDetail['Class']))='H' then
  begin
    StrID:=tbCodeDetail['ACode'];
    With qryPublic do
    begin
      Close;
      SQL.CLear;
      SQL.Add('Delete from GE Where HourseID=:HourseID');
      ParamByName('HourseID').AsString:=StrID;
      Prepare;
      ExecSQL;
      Close;
      SQL.CLear;
      SQL.Add('Delete from PH Where HourseID=:HourseID');
      ParamByName('HourseID').AsString:=StrID;
      Prepare;
      ExecSQL;
      Close;
      SQL.CLear;
      SQL.Add('Delete from PHG Where HourseID=:HourseID');
      ParamByName('HourseID').AsString:=StrID;
      Prepare;
      ExecSQL;
      Close;
      SQL.CLear;
      SQL.Add('Delete from Extension Where HourseID=:HourseID');
      ParamByName('HourseID').AsString:=StrID;
      Prepare;
      ExecSQL;
      Close;
    end;
  end
  else if Uppercase(Trim(tbCodeDetail['Class']))='P' then
  begin
    StrID:=tbCodeDetail['ACode'];
    With qryPublic do
    begin
      Close;
      SQL.CLear;
      SQL.Add('Delete from GE Where ProjectID=:ProjectID');
      ParamByName('ProjectID').AsString:=StrID;
      Prepare;
      ExecSQL;
      Close;
      SQL.CLear;
      SQL.Add('Delete from PH Where ProjectID=:ProjectID');
      ParamByName('ProjectID').AsString:=StrID;
      Prepare;
      ExecSQL;
      Close;
      SQL.CLear;
      SQL.Add('Delete from PHG Where ProjectID=:ProjectID');
      ParamByName('ProjectID').AsString:=StrID;
      Prepare;
      ExecSQL;
      Close;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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