Einzelnen Beitrag anzeigen

Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#1

ADO in CSV-Stream

  Alt 28. Jan 2013, 17:53
Datenbank: MYSQL • Version: 5.0 • Zugriff über: ADO
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;

Geändert von luisk (28. Jan 2013 um 19:22 Uhr)
  Mit Zitat antworten Zitat