Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MySQL in MEMO anzeigen (https://www.delphipraxis.net/14479-mysql-memo-anzeigen.html)

bundy 10. Jan 2004 00:36


MySQL in MEMO anzeigen
 
Hallo Leute,

Ist es möglich das Ergebnis einer Query in einem Memofeld anzeigen zu lassen?


thx
bundy

Leuselator 10. Jan 2004 01:59

Re: MySQL in MEMO anzeigen
 
Ja!

Leuselator 10. Jan 2004 02:10

Re: MySQL in MEMO anzeigen
 
Na gut:
Delphi-Quellcode:
const
  CLsFieldTypes: Array[0..35] of String = ('ftUnknown'   ,
                                           'ftString'    ,
                                           'ftSmallint'  ,
                                           'ftInteger'   ,
                                           'ftWord'      ,
                                           'ftBoolean'   ,
                                           'ftFloat'     ,
                                           'ftCurrency'  ,
                                           'ftBCD'       ,
                                           'ftDate'      ,
                                           'ftTime'      ,
                                           'ftDateTime'  ,
                                           'ftBytes'     ,
                                           'ftVarBytes'  ,
                                           'ftAutoInc'   ,
                                           'ftBlob'      ,
                                           'ftMemo'      ,
                                           'ftGraphic'   ,
                                           'ftFmtMemo'   ,
                                           'ftParadoxOle' ,
                                           'ftDBaseOle'  ,
                                           'ftTypedBinary',
                                           'ftCursor'    ,
                                           'ftFixedChar' ,
                                           'ftWideString' ,
                                           'ftLargeint'  ,
                                           'ftADT'       ,
                                           'ftArray'     ,
                                           'ftReference' ,
                                           'ftDataSet'   ,
                                           'ftOraBlob'   ,
                                           'ftOraClob'   ,
                                           'ftVariant'   ,
                                           'ftInterface' ,
                                           'ftIDispatch' ,
                                           'ftGuid');


procedure ShowInMemo(DieQuery : TDataSet, DasMemo : TMemo);
var i,
    j,
    AnzFields,
    AktLine : Integer;
begin
  DasMemo.Lines.Clear;
  if DieQuery.Active
    then DieQuery.First
    else DieQuery.Open;
  AnzFields := DieQuery.Fields.Count;
  DasMemo.Lines.Add(' Feld:'+chr(9));
  DasMemo.Lines.Add(' Typ:'+chr(9));
  DasMemo.Lines.Add('Länge:'+chr(9));
  DasMemo.Lines.Add('Zeile '+chr(9));
  for i := 0 to AnzFields-1 do begin // Kopf zusammenbauen
    DasMemo.Lines[0] := DasMemo.Lines[0]+DieQuery.Fields[i].Name;
    DasMemo.Lines[1] := DasMemo.Lines[1]+CLsFieldTypes[Ord(DieQuery.Fields[i].DataType)];
    DasMemo.Lines[2] := DasMemo.Lines[2]+IntToStr(DieQuery.Fields[i].DataSize);
    DasMemo.Lines[3] := DasMemo.Lines[3]+DieQuery.Fields[i].Name;
    if i < AnzFields-1
      then begin
        DasMemo.Lines[0] := DasMemo.Lines[0]+chr(9);
        DasMemo.Lines[1] := DasMemo.Lines[1]+chr(9);
        DasMemo.Lines[2] := DasMemo.Lines[2]+chr(9);
        DasMemo.Lines[3] := DasMemo.Lines[3]+chr(9);
      end;
  end;
  DasMemo.Lines.Add('');
  j := 1; // Zeilenzähler
  while not DieQuery.EOF do begin
    AktLine := DasMemo.Lines.Add(IntToStr(j)+chr(9));
    for i := 0 to AnzFields-1 do begin // Zeile zusammenbauen
      DasMemo.Lines[AktLine] :=DasMemo.Lines[AktLine]+DieQuery.Fields[i].DisplayText;
      if i < AnzFields-1 
        then DasMemo.Lines[AktLine] := DasMemo.Lines[AktLine]+chr(9);
    end;
    inc(j); // Zeilenzähler erhöhen
    DieQuery.Next;
  end;
end;
Kann aber bei großen Ergebnismengen dauern!

bundy 10. Jan 2004 03:38

Re: MySQL in MEMO anzeigen
 
hy Danke funzt !!!!!! :bounce1: :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz