sx2008 -> that`s it:
SQL-Anfrage über Web-Server an
SQL-Server gepackt in "adPersistADTG" zurück zu Client
und wieder ausgepackt in Recordset...
Delphi-Quellcode:
function TForm1.RecordsetTo_adPersistADTG(
const Recordset: _Recordset):
string;
var
RS: Variant;
Stream: TStringStream;
begin
Result := '
';
if Recordset =
nil then Exit;
Stream := TStringStream.Create('
');
try
RS := CreateOleObject('
ADODB.Recordset');
RS := Recordset;
RS.Save(TStreamAdapter.Create(stream)
as IUnknown, adPersistADTG );
Stream.Position := 0;
Result := Stream.DataString;
finally
Stream.Free;
end;
end;
function TForm1.RecordsetFrom_adPersistADTG(
const XML:
string): _Recordset;
var
RS: Variant;
Stream: TStringStream;
begin
Result :=
nil;
if XML = '
'
then Exit;
try
Stream := TStringStream.Create(
XML);
Stream.Position := 0;
RS := CreateOleObject('
ADODB.Recordset');
RS.Open(TStreamAdapter.Create(Stream)
as IUnknown);
Result := IUnknown(RS)
as _Recordset;
finally
Stream.Free;
end;
end;