# primärschlüssel auslesen



## luckymaddin (13. Jan 2009)

hallo alle zusammen,
ich wüsste gerne, wie man die primärschlüssel einer tabelle auslesen kann. die fremdschlüssel hab ich schon. nur bei den primärschlüssel hapert es etwas... 
Um mal etwas genauer zu erkären was ich machen will:
ich will mit einer datenbank verbinden, dann alle tabellen samt spalten anzeigen lassen. zu den spalten soll dann noch, was es für ein dateityp ist ( int, char usw. ) bei den char soll noch die größe stehen. Ebenso soll bei allen feldern, die ein fremdschlüssel sind, angezeigt werden, aus welcher tabelle der fremdschlüssel stammt. soweit hab ichs schon mal.
was mir jetzt erst mal noch fehlt, sind die primärschlüssel.
ich bin schon über databasemetadata.getindexinfo() gestolpert. nur leider liefert das an einigen stellen 2 mal das ergebnis, dass es ein primärschlüssel ist und bei anderen wiederum nur ein. 
danke schon mal für eure hilfe.


----------



## FenchelT (13. Jan 2009)

> nur leider liefert das an einigen stellen 2 mal das ergebnis, dass es ein primärschlüssel ist und bei anderen wiederum nur ein



Und wo ist da das Problem?


----------



## luckymaddin (15. Jan 2009)

also das problem ist folgendes:
1. wenn meine ausgabe erfolgt kommt:

Spaltenname;Primärschlüssel1;Primärschlüssel2;

Die Zahlen stehen dort, weil ich mir die mal durchnummerieren lassen hab.

mein 2. Problem:

Alle Fremdschlüssel werden auch als Primärschlüssel gekennzeichnet.
Es werden quasi nicht alle Primärschlüssel angezeigt sondern alle Schlüsselfelder.


----------



## FenchelT (15. Jan 2009)

Hallo,

zu Deinem ersten Problem:
Ein Primaerschluessel kann ueber mehrere Felder gehen, daher ist es auch moeglich, dass Du mal einen und mal zwei PK-Felder angezeigt bekommst.

zu Deinem zweiten Problem kann ich nichts sagen, da ich mir diesbezgl die Arbeitsweise von Java noch nicht angeguckt habe. Hatte ich bisher naemlich nie gebraucht.


Gruesse


----------



## luckymaddin (15. Jan 2009)

das ein primärschlüssel über mehrere felder gehen kann, weiß ich ja, aber das eine spalte 2 mal als primärschlüssel angezeigt wird? also z.b.: 
id_nr; primärschlüssel1, primärschlüssel2
plz: primärschlüssel3, fremdschlüssel

wenns dir hilft, kann ich dir ja gerne mal den quellcode posten.


----------



## FenchelT (15. Jan 2009)

Jo, poste mal ein bisserl Quellcode


----------



## Guest (16. Jan 2009)

alles klar. hab die lösung für mein problem xD

DataBaseMetaData.getPrimaryKeys();

da hätt ich auch schneller drauf kommen können...

naja. danke für deine hilfe.


----------

