Hallo,
ich habe folgende beiden Routinen gefunden, um
ADO-Abfrageergebnisse im
XML-Format in einem Stream zu speichern.
Quelle:
http://www.swissdelphicenter.ch/de/showcode.php?id=1498
Ich würde allerdings gerne im
CSV-Format in einem Stream speichern.
Hat jemand einen Tip ?
Gruß Luis
Delphi-Quellcode:
function TForm1.RecordsetToXML(
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, adPersistXML );
Stream.Position := 0;
Result := Stream.DataString;
finally
Stream.Free;
end;
end;
function TForm1.RecordsetFromXML(
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;