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

📄 gendm.pas

📁 适合Delphi初学者使用。其中涉及XML文件导入
💻 PAS
字号:
unit gendm;

interface

uses
  SysUtils, Classes, DB, ADODB, RM_Common, RM_Class, RM_e_txt, RM_e_csv,
  RM_Dataset, RM_DsgGridReport, RM_GridReport;

type
  TDM = class(TDataModule)
    ADOCon: TADOConnection;
    QueCustomer: TADOQuery;
    QueUser: TADOQuery;
    QueShop: TADOQuery;
    dsCustomer: TDataSource;
    dsShop: TDataSource;
    dsUser: TDataSource;
    QueTmp: TADOQuery;
    RMGridReport1: TRMGridReport;
    RMGridReportDesigner1: TRMGridReportDesigner;
    RMDBDataSet1: TRMDBDataSet;
    RMCSVExport1: TRMCSVExport;
    procedure DataModuleCreate(Sender: TObject);
    procedure DataModuleDestroy(Sender: TObject);
    procedure QueCustomerBeforePost(DataSet: TDataSet);
    procedure QueShopAfterScroll(DataSet: TDataSet);
    procedure QueShopAfterPost(DataSet: TDataSet);
  private
    { Private declarations }
    m_sOldShopName: string;
  public
    { Public declarations }
  end;

var
  DM: TDM;

implementation

uses genFunc;

{$R *.dfm}

procedure TDM.DataModuleCreate(Sender: TObject);
var
  sSQL: string;
begin
  sSQL := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + gUserInfo.sAppPath + 'Customer.mdb;Persist Security Info=False';
  ADOCon.Close;
  ADOCon.ConnectionString := sSQL;
  ADOCon.Open;
  sSQL := 'select * from [User] ';
  SetAdoQue(QueUser, sSQL);
  sSQL := 'select * from Shop';
  SetAdoQue(QueShop, sSQL);
end;

procedure TDM.DataModuleDestroy(Sender: TObject);
begin
  ADOCon.Close;

end;

procedure TDM.QueCustomerBeforePost(DataSet: TDataSet);
begin
  if QueCustomer.FieldByName('VIP').AsString = '' then
  begin
    Exit;
  end;
  QueCustomer.FieldByName('Builddate').AsDateTime := Date;
  QueCustomer.FieldByName('RealVIP').AsString := GetFormatNumStr(QueCustomer.FieldByName('VIP').AsString);
end;

procedure TDM.QueShopAfterScroll(DataSet: TDataSet);
begin
  m_sOldShopName := QueShop.FieldByName('Name').AsString;
end;

procedure TDM.QueShopAfterPost(DataSet: TDataSet);
var
  sSQL: string;
begin
  if m_sOldShopName <> QueShop.FieldByName('Name').AsString then
  begin
    sSQL := 'update Customer set Shop = ' + QuotedStr(QueShop.FieldByName('Name').AsString) +
      ' where Shop = ' + QuotedStr(m_sOldShopName);
    ADOCon.Execute(sSQL);
    if m_sOldShopName = gUserInfo.sCustomer then
    begin
      gUserInfo.sCustomer := QueShop.FieldByName('Name').AsString;
//      if QueCustomer.Active then
//      begin
//        QueCustomer.Requery();
//      end;
    end;

    m_sOldShopName := QueShop.FieldByName('Name').AsString;
  end;
end;

end.

⌨️ 快捷键说明

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