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

📄 dws2adomodule.pas

📁 script language
💻 PAS
📖 第 1 页 / 共 3 页
字号:
{**********************************************************************}
{    DWS2 ADO Library  - Version 1.0                                   }
{    Developed by Fabrizio Vita (http://web.tiscali.it/bizio)           }
{                                                                      }
{    "The contents of this file are subject to the Mozilla Public      }
{    License Version 1.1 (the "License"); you may not use this         }
{    file except in compliance with the License. You may obtain        }
{    a copy of the License at                                          }
{                                                                      }
{    http://www.mozilla.org/MPL/                                       }
{                                                                      }
{    Software distributed under the License is distributed on an       }
{    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express       }
{    or implied. See the License for the specific language             }
{    governing rights and limitations under the License.               }
{                                                                      }
{    The Original Code is DWS2-IBO-Library released January 1, 2001    }
{    (http://www.dwscript.com) and translated to ADO on September 2002 }
{                                                                      }
{**********************************************************************}

unit dws2ADOModule;

interface

uses
  Windows, SysUtils, Controls, Classes, Forms,
  dws2Comp, dws2Exprs, ADODB, Db;

type
  TdwsAdoDatasetObj = class(TObject)
    AdoDataset: TAdoDataset;
  public
    destructor destroy; override;
  end;

  TdwsADODataBaseObj = class(TObject)
    ADOConnection: TADOConnection;
  public
    RecordsAffected: Integer;
    destructor destroy; override;
  end;

  Tdws2ADOLib = class(TDataModule)
    customADOUnit: Tdws2Unit;
    procedure customADOUnitClassesTFieldMethodsSetValueEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTFieldMethodsGetValueEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTFieldMethodsSetValueStrEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTFieldMethodsGetValueStrEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDBFieldMethodsSetIntegerEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDBFieldMethodsSetFloatEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDBFieldMethodsSetDateTimeEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDBFieldMethodsGetIntegerEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDBFieldMethodsGetFloatEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDBFieldMethodsGetDateTimeEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDatasetMethodsLastEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDatasetMethodsGetSQLEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDatasetMethodsSetSQLEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDatasetMethodsFieldByNameEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDatasetMethodsFreeEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDBFieldMethodsIsNullEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDatabaseMethodsExecuteEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDatabaseMethodsFreeEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsExecuteEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsGetRecordsetEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsVersionEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsStateEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsGetProviderEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsSetProviderEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsDatasetCountEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsSetConnectionEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsRollbackTransEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsBeginTransEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsCommitTransEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsRecordCountEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsFirstEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsNextEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsCloseEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsEditEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsInsertEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsPostEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsCancelEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsDeleteEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsOpenEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsEofEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsOpenEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsCloseEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsSetFieldEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsGetFieldEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsFieldCountEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDBFieldMethodsDataTypeEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDBFieldMethodsDataSizeEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTDBFieldMethodsNameEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsGetHTMLComboEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsSetCommandTimeoutEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionMethodsGetCommandTimeoutEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsFieldAsStringEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsFieldAsDateTimeEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsFieldAsIntegerEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsFieldAsFloatEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsGetFieldAsVariantEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsSetFieldAsStringEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsSetFieldAsIntegerEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsSetFieldAsDateTimeEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsSetFieldAsFloatEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsSetFieldAsVariantEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsGetFieldIsNullEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsSetCommandTimeoutEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetMethodsGetCommandTimeoutEval(
      Info: TProgramInfo; ExtObject: TObject);
    procedure customADOUnitClassesTADOConnectionConstructorsCreateAssignExternalObject(
      Info: TProgramInfo; var ExtObject: TObject);
    procedure customADOUnitClassesTADODatasetConstructorsCreateAssignExternalObject(
      Info: TProgramInfo; var ExtObject: TObject);
  private
    FScript: TDelphiWebScriptII;
    procedure SetScript(const Value: TDelphiWebScriptII);
  protected
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
  published
    property Script: TDelphiWebScriptII read FScript write SetScript;
  end;

procedure Register;

var
  dws2ADOLib: Tdws2ADOLib;

implementation

{$R *.DFM}

uses
  ActiveX, Variants, dws2Symbols;

procedure Register;
begin
  RegisterComponents('DWS2', [Tdws2ADOLib]);
end;

destructor TdwsADODataBaseObj.destroy;
begin
  if assigned(ADOConnection) then
    ADOConnection.Close;
  inherited destroy;
end;

procedure Tdws2ADOLib.Notification(AComponent: TComponent;
  Operation: TOperation);
begin
  inherited;
  if (Operation = opRemove) and (AComponent = FScript) then
    SetScript(nil);
end;

procedure Tdws2ADOLib.SetScript(const Value: TDelphiWebScriptII);
var
  x: Integer;
begin
  if Assigned(FScript) then
    FScript.RemoveFreeNotification(Self);
  if Assigned(Value) then
    Value.FreeNotification(Self);
  FScript := Value;
  for x := 0 to ComponentCount - 1 do
    if Components[x] is Tdws2Unit then
      Tdws2Unit(Components[x]).Script := Value;
end;

// ****************************************************************************
// ********************* ADO Class Methods  ***********************************
// ****************************************************************************

destructor TdwsAdoDatasetObj.destroy;
begin
  if assigned(ADODataset) then
    AdoDataset.Free;
  inherited destroy;
end;

procedure Tdws2ADOLib.customADOUnitClassesTFieldMethodsSetValueEval(
  Info: TProgramInfo; ExtObject: TObject);
begin
  TField(ExtObject).AsVariant := Info['Value'];
end;

procedure Tdws2ADOLib.customADOUnitClassesTFieldMethodsGetValueEval(
  Info: TProgramInfo; ExtObject: TObject);
begin
  Info.Result := TField(ExtObject).AsVariant;
end;

procedure Tdws2ADOLib.customADOUnitClassesTFieldMethodsSetValueStrEval(
  Info: TProgramInfo; ExtObject: TObject);
begin
  TField(ExtObject).AsString := Info['Value'];
end;

procedure Tdws2ADOLib.customADOUnitClassesTFieldMethodsGetValueStrEval(
  Info: TProgramInfo; ExtObject: TObject);
begin
  Info.Result := TField(ExtObject).AsString;
end;

procedure Tdws2ADOLib.customADOUnitClassesTDBFieldMethodsSetIntegerEval(
  Info: TProgramInfo; ExtObject: TObject);
begin
  TField(ExtObject).AsInteger := Info['Value'];
end;

procedure Tdws2ADOLib.customADOUnitClassesTDBFieldMethodsSetFloatEval(
  Info: TProgramInfo; ExtObject: TObject);
begin
  TField(ExtObject).AsFloat := Info['Value'];
end;

procedure Tdws2ADOLib.customADOUnitClassesTDBFieldMethodsSetDateTimeEval(
  Info: TProgramInfo; ExtObject: TObject);
begin
  TField(ExtObject).AsDateTime := Info['Value'];
end;

procedure Tdws2ADOLib.customADOUnitClassesTDBFieldMethodsGetIntegerEval(
  Info: TProgramInfo; ExtObject: TObject);
begin
  Info.Result := TField(ExtObject).AsInteger;
end;

⌨️ 快捷键说明

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