Announcement

Collapse
No announcement yet.

Datentyp eines Queryfeldes bestimmen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datentyp eines Queryfeldes bestimmen

    Wie kann ich den Datentyp eines Feldes einer Query bestimmen?

  • #2
    Nehmen wir mal an, wir möchten wissen, welche Datenfelder sich in einer Query befinden, dann würde ich das so machen.

    Form mit Query, Button und Memo-Feld.

    procedure TForm1.Button1Click(Sender: TObject);
    var
    i: integer;
    str: string;
    begin
    //type TFieldType = (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, ftTimeStamp, ftFMTBcd);

    Memo1.Lines.Clear;
    for i := 0 to AdoQuery1.Fields.Count - 1 do
    begin
    str := AdoQuery1.Fields[i].FieldName + ' - ';
    case AdoQuery1.Fields[i].DataType of
    ftDateTime: str := str + 'ftDateTime';
    ftWideString: str := str + 'ftWideString';
    ftMemo: str := str + 'ftMemo';
    ftInteger: str := str + 'ftInteger';
    else str := str + 'unbekannt';
    end;
    Memo1.Lines.Add (str);
    end;
    end;

    Damit werden alle Felder angezeigt im Format "Feldname - Feldtyp" - natürlich müsste man über die case-Anweisung auch alle Feldtypen erfassen. - Problem damit gelöst

    Comment


    • #3
      Ich versuch das Posting von oben noch einmal in einer etwas besseren Form - vielleicht kann mir ja auch mal jemand erklären, wie man hier formatierten Text ablegt.

      Nehmen wir mal an, wir möchten wissen, welche Datenfelder sich in einer Query befinden, dann würde ich das so machen.

      Form mit Query, Button und Memo-Feld.

      procedure TForm1.Button1Click(Sender: TObject);
      <br>var i: integer; str: string;
      <br>begin
      <br>//type TFieldType = (ftUnknown, ftString,
      <br>//ftSmallint, ftInteger, ftWord, ftBoolean,
      <br>//ftFloat, ftCurrency, ftBCD, ftDate, ftTime,
      <br>//ftDateTime, ftBytes, ftVarBytes, ftAutoInc,
      <br>//ftBlob, ftMemo, ftGraphic, ftFmtMemo,
      <br>//ftParadoxOle, ftDBaseOle, ftTypedBinary,
      <br>//ftCursor, ftFixedChar, ftWideString,
      <br>//ftLargeint, ftADT, ftArray, ftReference,
      <br>//ftDataSet, ftOraBlob, ftOraClob, ftVariant,
      <br>// ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd);

      <br>Memo1.Lines.Clear;
      <br>for i := 0 to AdoQuery1.Fields.Count - 1 do
      <br>begin
      <br>str := AdoQuery1.Fields[i].FieldName + ' - ';
      <br>case AdoQuery1.Fields[i].DataType of
      <br>ftDateTime: str := str + 'ftDateTime';
      <br>ftWideString: str := str + 'ftWideString';
      <br>ftMemo: str := str + 'ftMemo';
      <br>ftInteger: str := str + 'ftInteger';
      <br>//usw.
      <br>else str := str + 'unbekannt';
      <br>end;
      <br>Memo1.Lines.Add (str);
      <br>end;
      <br>end;

      Damit werden alle Felder angezeigt im Format "Feldname - Feldtyp" - natürlich müsste man über die case- Anweisung auch alle Feldtypen erfassen. - Problem damit gelöst

      Comment


      • #4
        Hi!

        Also erstmal empfehle ich dir den Button "bearbeiten".&nbsp;&nbsp;&nbsp;)<br>
        Um Quellcode darzustellen solltest Du einfach mal den Hinweistext über dem Eingabefeld lesen, dort steht:<br>

        <b>Formatierungsregeln:</b> Mit einer Leerzeile können Sie einen neuen Abschnitt beginnen. Ansonsten können Sie die üblichen HTML-Tags verwenden (&lt;b&gt;<b>Fett</b>&lt;/b&gt;, <i>&lt;i&gt;Kursiv&lt;/i&gt;</i>, &lt;br&gt; für Zeilenumbruch oder &lt;p&gt; für einen neuen Abschnitt). <b><br>
        Achtung bei Quellcode:</b> Quellcode-Absätze sollten mit einem &lt;PRE&gt; eingeleitet und mit einem &lt;/PRE&gt; abgeschlossen werden; so bleiben Ihre Einrückungen und sowie die Zeilenumbrüche erhalten. Vorsicht bei spitzen Klammern: Diese müssen dringend als Entities geschrieben werden, um eine richtige Darstellung zu erzielen. Also für die öffnende spitze Klammer < bitte &amp;lt; setzen und für die schließende > den Code &amp;gt; verwenden!

        &lt;pre&gt;<pre>
        BeispielCode:

        Eingerückter Text
        begin
        noch weiter eingerückter Text;

        // Kommentar
        end
        </pre>&lt;/pre&gt

        Comment

        Working...
        X