You've already forked lazarus-ccr
113 lines
3.9 KiB
ObjectPascal
113 lines
3.9 KiB
ObjectPascal
![]() |
{*********************************************************}
|
||
|
{* VPSQLBDE.PAS 1.03 *}
|
||
|
{*********************************************************}
|
||
|
|
||
|
{* ***** BEGIN LICENSE BLOCK ***** *}
|
||
|
{* Version: MPL 1.1 *}
|
||
|
{* *}
|
||
|
{* 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 TurboPower Visual PlanIt *}
|
||
|
{* *}
|
||
|
{* The Initial Developer of the Original Code is TurboPower Software *}
|
||
|
{* *}
|
||
|
{* Portions created by TurboPower Software Inc. are Copyright (C) 2002 *}
|
||
|
{* TurboPower Software Inc. All Rights Reserved. *}
|
||
|
{* *}
|
||
|
{* Contributor(s): *}
|
||
|
{* Hannes Danzl *}
|
||
|
{* *}
|
||
|
{* ***** END LICENSE BLOCK ***** *}
|
||
|
|
||
|
{This unit was provided by Hannes Danzl and is used here with permission }
|
||
|
|
||
|
unit VPSQLBDE;
|
||
|
|
||
|
interface
|
||
|
|
||
|
uses
|
||
|
classes, VPDbIntf, dbtables, db, sysutils;
|
||
|
|
||
|
type
|
||
|
// implements the ISQLDataSet interface for TQuery
|
||
|
TshwBDEDataset = class(TQuery, ISQLDataSet)
|
||
|
protected
|
||
|
// see ISQLDataset.iConnectionParams
|
||
|
fConnectionParams: TStringlist;
|
||
|
// see ISQLDataset.iSQL
|
||
|
procedure SetiSQL(const value: String); virtual;
|
||
|
// see ISQLDataset.iSQL
|
||
|
function GetiSQL:String; virtual;
|
||
|
// see ISQLDataset.iExecSQL
|
||
|
procedure IExecSQL; virtual;
|
||
|
// see ISQLDataset.iConnectionParams
|
||
|
procedure SetiConnectionParams(const value: String); virtual;
|
||
|
// see ISQLDataset.iConnectionParams
|
||
|
function GetiConnectionParams:String; virtual;
|
||
|
public
|
||
|
// constructor
|
||
|
constructor Create(aOwner: TComponent); override;
|
||
|
// destructor
|
||
|
destructor Destroy; override;
|
||
|
end;
|
||
|
|
||
|
implementation
|
||
|
|
||
|
constructor TshwBDEDataset.Create(aOwner: TComponent);
|
||
|
begin
|
||
|
inherited;
|
||
|
fConnectionParams:=TStringlist.Create;
|
||
|
RequestLive:=true;
|
||
|
end;
|
||
|
|
||
|
destructor TshwBDEDataset.Destroy;
|
||
|
begin
|
||
|
fConnectionParams.free;
|
||
|
inherited;
|
||
|
end;
|
||
|
|
||
|
function TshwBDEDataset.GetiConnectionParams: String;
|
||
|
begin
|
||
|
result:=fConnectionParams.Text;
|
||
|
end;
|
||
|
|
||
|
function TshwBDEDataset.GetiSQL: String;
|
||
|
begin
|
||
|
result:=sql.text;
|
||
|
end;
|
||
|
|
||
|
procedure TshwBDEDataset.IExecSQL;
|
||
|
begin
|
||
|
ExecSQL;
|
||
|
end;
|
||
|
|
||
|
procedure TshwBDEDataset.SetiConnectionParams(const value: String);
|
||
|
begin
|
||
|
fConnectionParams.Text:=value;
|
||
|
Close;
|
||
|
DatabaseName:=fConnectionParams.Values['DatabaseName'];
|
||
|
end;
|
||
|
|
||
|
procedure TshwBDEDataset.SetiSQL(const value: String);
|
||
|
begin
|
||
|
sql.text:=value;
|
||
|
end;
|
||
|
|
||
|
function CreateBDESQLDataset(InterfaceClass: String): TDataset;
|
||
|
begin
|
||
|
result:=TshwBDEDataset.Create(nil);
|
||
|
end;
|
||
|
|
||
|
initialization
|
||
|
// IMPORTANT: register it
|
||
|
sSQLDatasetFactory.RegisterInterfaceType('BDE', @CreateBDESQLDataset);
|
||
|
end.
|