Hallo,
die von dir gewünschte Umformung dient wahrscheinlich der Darstellung deiner Daten. Auch wenn dir
SQL gewisse Operatoren und Funktionen zur Verfügung stellt um eine solche Umformung vorzunehmen, solltest du diesen Weg nur dann gehen, wenn die Daten ohne weitere Verarbeitung auch genau so ausgegeben werden sollen. Oft ist es "besser" solche Textumformungen nicht mit
SQL zu erledigen, da sie eigentlich der Präsentationsschicht deiner Anwendung zugerechnet werden:
Delphi-Quellcode:
procedure FetchNamedValues(ds: TCustomADODataSet; s: TStrings);
var
i: Integer;
begin
s.Clear;
with ds
do
for i := 0
to Pred(FieldCount)
do
if Fields[i].IsNull
then
Continue
else
if Fields[i].IsBlob
then
s.Values[Fields[i].FieldName] := BlobToStr(Fields[i]
as TBlobField, True)
else
s.Values[Fields[i].FieldName] := Fields[i].AsString;
end;
procedure TDemoForm.ButtonClick(Sender: TObject);
const
NVS = '
:';
var
s: TStrings;
line:
string;
begin
s := TStringList.Create;
s.NameValueSeparator := NVS;
FetchNamedValues(
query, s);
line := StringReplace(Trim(s.Text), sLineBreak, '
, ', [rfReplaceAll]);
line := StringReplace(line, NVS, NVS + '
', [rfReplaceAll]);
ShowMessage(line);
s.Free;
end;
Getippt und nicht getestet.
Grüße vom marabu