AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Feldinformationen aus DB auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Feldinformationen aus DB auslesen

Ein Thema von Albi · begonnen am 26. Mai 2005 · letzter Beitrag vom 27. Mai 2005
Antwort Antwort
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#1

Feldinformationen aus DB auslesen

  Alt 26. Mai 2005, 07:30
Datenbank: Interbase 7.0 • Version: 7.1 • Zugriff über: IBX
Hallo,

ich bin gerade dabei mir ein kleines Prog zu schreiben, was mir Feldinformation aus 2 Interbase DB's ausliest, so dass ich diese dann vergleichen kann.

Das auslesen der Tabellen, Felder usw. stellt sich ja nicht als ein solches Problem dar. Nur woran ich scheitere ist, dass ich die Feldinfos nicht ausgelesen bekomme. Also den Character Set, die Länge usw..

Ich habe das zwar hinbekommen mit IBExtract aber dann müsste ich ja noch den String auswerten.

Hat jemand von euch schon Erfahrungen damit gemacht?
Gruß

Albi
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Feldinformationen aus DB auslesen

  Alt 26. Mai 2005, 18:40
Nee, aber mit ADO gehts relativ einfach.
Du holst Dir die Liste aller Tabellen in eine Stringlist. Da gibts von der ADOConnection eine Methode 'GetTables' oder so.
Dann öffnest Du jede Tabelle mit einer TADODataset-Komponente über 'select * from <TableName> where 1=0'. Das liefert Dir eine leere Tabelle, wobei in den TADODataset.Fields[*] alles drin steht, was Du benötigst.

Das dürfte auch mit der BDE, dbExpress etc. gehen, ich benutze aber nur ADO...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Feldinformationen aus DB auslesen

  Alt 26. Mai 2005, 22:31
Hallo Albi,

BDE und ADO bieten nur Zugriff auf Basiseigenschaften, die das entsprechende Framework benötigt. Alles andere musst du bei BDE über DBI, bei ADO über ADOX und bei IBX halt über IBExtract besorgen. Wenn der Zugriff auf den System-Katalog dich nicht abschreckt, dann probiere doch einmal diese Query aus:

SQL-Code:
SELECT
  REF.RDB$FIELD_SOURCE AS FldName,
  CHR.RDB$CHARACTER_SET_NAME AS ChrName
FROM RDB$FIELDS FLD, RDB$RELATION_FIELDS REF, RDB$CHARACTER_SETS CHR
WHERE FLD.RDB$FIELD_NAME = REF.RDB$FIELD_SOURCE
AND FLD.RDB$CHARACTER_SET_ID = CHR.RDB$CHARACTER_SET_ID
AND REF.RDB$RELATION_NAME = 'MYTABLE'
Grüße vom marabu
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#4

Re: Feldinformationen aus DB auslesen

  Alt 27. Mai 2005, 06:11
Vielen Dank Marabu,

genau das habe ich gesucht. Ich will ja nicht verändern, sondern erstmal nur auslesen und mir nen Update-Script generieren.
Gruß

Albi
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:07 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