📄 urdmlargedatasetdemo.pas
字号:
unit urdmLargeDataSetDemo;
interface
uses
Windows, Messages, SysUtils, Classes, ComServ, ComObj, VCLCom, DataBkr,
DBClient, PLargeDataSetDemoServer_TLB, StdVcl, Db, DBTables, Provider;
type
TldsDemoServer = class(TRemoteDataModule, IldsDemoServer)
Database1: TDatabase;
Query1: TQuery;
DataSetProvider1: TDataSetProvider;
dspGeneral: TDataSetProvider;
quryGeneral: TQuery;
tblDataRequest: TTable;
dspDataRequest: TDataSetProvider;
procedure DataSetProvider1BeforeGetRecords(Sender: TObject;
var OwnerData: OleVariant);
procedure RemoteDataModuleCreate(Sender: TObject);
procedure RemoteDataModuleDestroy(Sender: TObject);
function DataSetProvider1DataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
function dspDataRequestDataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
private
{ Private declarations }
protected
class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
public
{ Public declarations }
end;
implementation
{$R *.DFM}
class procedure TldsDemoServer.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
begin
if Register then
begin
inherited UpdateRegistry(Register, ClassID, ProgID);
EnableSocketTransport(ClassID);
EnableWebTransport(ClassID);
end else
begin
DisableSocketTransport(ClassID);
DisableWebTransport(ClassID);
inherited UpdateRegistry(Register, ClassID, ProgID);
end;
end;
procedure TldsDemoServer.DataSetProvider1BeforeGetRecords(Sender: TObject;
var OwnerData: OleVariant);
begin
with Sender as TDataSetProvider do
begin
DataSet.Open;
DataSet.Locate('NUM', OwnerData, []);
DataSet.Next;
end;
end;
procedure TldsDemoServer.RemoteDataModuleCreate(Sender: TObject);
begin
Database1.Connected := True;
Query1.Active := True;
end;
procedure TldsDemoServer.RemoteDataModuleDestroy(Sender: TObject);
begin
Database1.CloseDataSets;
Database1.Connected := False;
end;
function TldsDemoServer.DataSetProvider1DataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
begin
Query1.SQL.Text := Input;
Query1.Open;
Result := DataSetProvider1.Data;
end;
function TldsDemoServer.dspDataRequestDataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
begin
with tblDataRequest do
begin
SetRangeStart;
FieldByName('NUM').AsString := Input;
SetRangeEnd;
FieldByName('NUM').AsString := '010361';
ApplyRange;
end;
end;
initialization
TComponentFactory.Create(ComServer, TldsDemoServer,
Class_ldsDemoServer, ciMultiInstance, tmApartment);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -