Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi mODBC (FieldTypes) (https://www.delphipraxis.net/49304-modbc-fieldtypes.html)

Isaac 8. Jul 2005 16:57

Datenbank: MaxDB • Zugriff über: ODBC

mODBC (FieldTypes)
 
Hallo,

falls jemand Erfahrung mit den mODBC-Kompnenten hat, wäre ich für eine Hilfestellung zu folgendem Problem dankbar:

Wie kann man unter Einsatz o.g. Komponenten Infos wie Datentyp, Größe(size), Nullable, Primary Key etc. einer Tabellenspalte ermitteln. Keine Delphiabbildung (bspw. ftString) sondern echte Rückgabewerte der DB (bspw. varchar)?

Vielen Dank im voraus
Henk (aka isaac)

marabu 8. Jul 2005 19:04

Re: mODBC (FieldTypes)
 
Hallo Henk,

habe noch keine Erfahrung mit mODBC, aber versuche es doch mal hiermit:

Delphi-Quellcode:
var
  ofd: TOdbcFieldDef;
  i: integer;
begin
  with mTable1 do
    for i := 0 to FieldCount - 1 do begin
      ofd := TOdbcFieldDef(FieldDefs[i]);
      WriteLn(Format('%s %s %d', [
        ofd.Name,
        ofd.SQLDataType,
        ofd.SqlSize
      ]));
    end;
end;
Die Information über primary keys einer base table und die Spalteninfo "Nullable" bekommst du wohl nur über direkte Anwendung des ODBC API - SQLPrimaryKeys() und SQLDescribeCol(). Die Eigenschaft FieldDef.Required wird von mODBC nicht befüllt.

Grüße vom marabu

Isaac 9. Jul 2005 14:50

Re: mODBC (FieldTypes)
 
Hallo marabu,

vielen Dank. So etwas in der Art hatte ich gemeint (manchmal sieht man wohl den Wald vor lauter Bäumen nicht). Leider sind die erwähnten Komponenten in bestimmten Bereichen etwas unvollständig.

Ich werde mal dort ansetzen und eine Zusatzfunktion (GetTableItems o.ä.) hinzufügen. GetTableNames habe ich bereits etwas überarbeitet (Tabellenzugehörigkeit [SYSTEM,VIEW etc.]).

Vielleicht noch eine Frage bevor ich mich an eine Erweiterung setze:
Kennst Du oder vielleicht jemand anderes hier stabile (mit vielen Möglichkeiten der ODBC API ausgestattete) Komponenten für den ODBC-Zugriff unter Delphi 5. (dbExpress etc gibt's leider nicht für diese Delphi-Version).

Schon mal Danke im voraus (Ach so, ich meine jetzt nicht via ADO, DAO usw.).

So long
Henk

marabu 9. Jul 2005 15:22

Re: mODBC (FieldTypes)
 
Hallo Henk,

Fehlanzeige von meiner Seite. Vielleicht ist ja ein Upgrade auf D7 für dich eine interessante Alternative.

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:53 Uhr.

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