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

📄 unit2.~pas

📁 Welcome to the ASTA 3 Help Tutorials. These are documented tutorials that included new user jump sta
💻 ~PAS
字号:
unit Unit2;

// =========================================================================
// kbmMW - An advanced and extendable middleware framework.
// by Components4Developers (http://www.components4developers.com)
//
// Service generated by kbmMW service wizard.
//
// INSTRUCTIONS FOR REGISTRATION/USAGE
// -----------------------------------
// Please update the uses clause of the datamodule/form the TkbmMWServer is placed on by adding 
// kbmMWQueryService to it. Eg.
// 
//     uses ...,kbmMWServer,kbmMWQueryService;
// 
// Somewhere in your application, make sure to register the serviceclass to the TkbmMWServer instance. Eg.
// 
// var
//    sd:TkbmMWCustomServiceDefinition;
// ..
//    sd:=kbmMWServer1.RegisterService(yourserviceclassname,false);
// 
// Set the last parameter to true if this is the default service.
// 



{$I kbmMW.inc}

interface

uses
  SysUtils, {$ifdef LEVEL6}Variants,{$endif} Classes, Forms, kbmMWSecurity, kbmMWServer, kbmMWGlobal, kbmMWQueryService, kbmMWADOX, kbmMWBinaryStreamFormat,
  kbmMemTable, kbmMWStreamFormat, DB,
  kbmMWCustomConnectionPool, kbmMWResolvers, kbmMWMT,kbmMWCustomDataset,
  kbmMWX,Dialogs;

type
  TkbmMWQueryService2 = class(TkbmMWQueryService)
    kbmMWADOXResolver1: TkbmMWADOXResolver;
    kbmMWADOXQuery1: TkbmMWADOXQuery;
    kbmMWADOXStoredProc1: TkbmMWADOXStoredProc;
    kbmMWBinaryStreamFormat1: TkbmMWBinaryStreamFormat;
    QryCustomers: TkbmMWADOXQuery;
    QryCustomersCustomerID: TStringField;
    QryCustomersCompanyName: TStringField;
    QryCustomersContactName: TStringField;
    QryCustomersContactTitle: TStringField;
    QryCustomersAddress: TStringField;
    QryCustomersCity: TStringField;
    QryCustomersRegion: TStringField;
    QryCustomersPostalCode: TStringField;
    QryCustomersCountry: TStringField;
    QryCustomersPhone: TStringField;
    QryCustomersFax: TStringField;
    QryOrders: TkbmMWADOXQuery;
    QryOrdersOrderID: TAutoIncField;
    QryOrdersCustomerID: TStringField;
    QryOrdersEmployeeID: TIntegerField;
    QryOrdersOrderDate: TDateTimeField;
    QryOrdersRequiredDate: TDateTimeField;
    QryOrdersShippedDate: TDateTimeField;
    QryOrdersShipVia: TIntegerField;
    QryOrdersFreight: TBCDField;
    QryOrdersShipName: TStringField;
    QryOrdersShipAddress: TStringField;
    QryOrdersShipCity: TStringField;
    QryOrdersShipRegion: TStringField;
    QryOrdersShipPostalCode: TStringField;
    QryOrdersShipCountry: TStringField;
    QryOrderDetails: TkbmMWADOXQuery;
    QryOrderDetailsOrderID: TIntegerField;
    QryOrderDetailsProductID: TIntegerField;
    QryOrderDetailsUnitPrice: TBCDField;
    QryOrderDetailsQuantity: TSmallintField;
    QryOrderDetailsDiscount: TFloatField;
    procedure kbmMWQueryServiceBeforeRequest(const Func: String;
      const ClientIdent: TkbmMWClientIdentity;
      const Args: array of Variant);
    procedure kbmMWADOXResolver1Insert(Sender: TkbmMWCustomResolver;
      var Skip, Abort: Boolean);
    procedure kbmMWADOXResolver1Modify(Sender: TkbmMWCustomResolver;
      var Skip, Abort: Boolean);
    procedure kbmMWADOXResolver1Delete(Sender: TkbmMWCustomResolver;
      var Skip, Abort: Boolean);
  private
     { Private declarations }
  protected
     { Private declarations }
  public
     { Public declarations }
{$IFNDEF CPP}class{$ENDIF} function GetPrefServiceName:string; override;
{$IFNDEF CPP}class{$ENDIF} function GetVersion:string; override;
{$IFNDEF CPP}class{$ENDIF} function GetFlags:TkbmMWServiceFlags; override;
     procedure InitializeService; override;
     procedure FinalizeService; override;
  end;

implementation

uses Unit1, UnitDM;

{$R *.dfm}


// Service definitions.
//---------------------

{$IFNDEF CPP}class{$ENDIF} function TkbmMWQueryService2.GetPrefServiceName:string;
begin
     Result:='MyQryService';
end;

{$IFNDEF CPP}class{$ENDIF} function TkbmMWQueryService2.GetVersion:string;
begin
     Result:='1.0';
end;

{$IFNDEF CPP}class{$ENDIF} function TkbmMWQueryService2.GetFlags:TkbmMWServiceFlags;
begin
     Result:=[mwsfListed];
end;

procedure TkbmMWQueryService2.InitializeService;
begin
     // Add code here which should be executed when a service instance is being initialized.
end;

procedure TkbmMWQueryService2.FinalizeService;
begin
     // Add code here which should be executed when a service instance is being finalized.
end;


procedure TkbmMWQueryService2.kbmMWQueryServiceBeforeRequest(
  const Func: String; const ClientIdent: TkbmMWClientIdentity;
  const Args: array of Variant);
  
   function VariantArrayToStr(Args: array of Variant):string;
   var
     i:Integer;
   begin
     Result:='';
     for i:=Low(Args) to High(Args) do
      Result:=Result+vartostr(Args[i]);
   end;
begin
   if sametext(Func,'RESOLVE') then
      Form1.Memo1.Lines.Add('   FunctionName: '+Func)
   else Form1.Memo1.Lines.Add('   FunctionName: '+Func+'  '+VariantArrayToStr(Args));
end;

procedure TkbmMWQueryService2.kbmMWADOXResolver1Insert(
  Sender: TkbmMWCustomResolver; var Skip, Abort: Boolean);
var
  i:Integer;
  tmpstr:string;
begin
  tmpstr:='';
  with Form1.Memo1.Lines do
  begin
    for i:=0 to Sender.FieldCount-1 do
     tmpstr:=tmpstr+Sender.Fields[i].FieldName+':'+Sender.Fields[i].AsString+', ';
    Add('   Insert: '+tmpstr);
  end;
end;

procedure TkbmMWQueryService2.kbmMWADOXResolver1Modify(
  Sender: TkbmMWCustomResolver; var Skip, Abort: Boolean);
var
  i:Integer;
  tmpstr:string;
begin
  tmpstr:='';
  with Form1.Memo1.Lines do
  begin
    for i:=0 to Sender.FieldCount-1 do
     tmpstr:=tmpstr+Sender.Fields[i].FieldName+':'+Sender.Fields[i].AsString+', ';
    Add('   Modify: '+tmpstr);
  end;
end;

procedure TkbmMWQueryService2.kbmMWADOXResolver1Delete(
  Sender: TkbmMWCustomResolver; var Skip, Abort: Boolean);
var
  i:Integer;
  tmpstr:string;
begin
  tmpstr:='';
  with Form1.Memo1.Lines do
  begin
    for i:=0 to Sender.FieldCount-1 do
     tmpstr:=tmpstr+Sender.Fields[i].FieldName+':'+Sender.Fields[i].AsString+', ';
    Add('   Delete: '+tmpstr);
  end;
end;

end.

⌨️ 快捷键说明

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