Zum Inhalt springen

DatabaseMetaData getColumns


Empfohlene Beiträge

Geschrieben

Hi leute.

Ich will in meinem Programm die Spalten einer Tabelle auslesen.

Um Tabellen auszulesen habe ich die getTables() Methode der Klasse DatabaseMetaData gefunden und benutze diese jetzt auch ;-)

Um Spalten auslesen zu können habe ich gesehen, dass es in der Klasse auch eine getColumns() Methode gibt.

Jedoch finde ich nirgends Informationen dazu, bis auf die doku selbst, die mir wie man sieht nicht wirklich weiterhilft ;-)

Ein codebeispiel:


ResultSet rCol = dbMeta.getColumns("", "", sCurTable, "");

				while( rCol.next() ) {

					System.out.println("column");

					String sCurColumn = rCol.getString( 4 );

					String sCurType = rCol.getString( 6 );

					String sCurSize = rCol.getString( 7 );

				}

aber er springt nie in die while schleife.

Was mach ich falsch?

danke im voraus mfg jghj

Geschrieben

ich möchte die spaltennamen, typen u. längen(bzw. genauigkeiten) haben.

dbMeta hab ich vergessen zu pasten ist eine instanz von DatabaseMetaData:


DatabaseMetaData dbMeta = con.getMetaData();

mfg jghj

Geschrieben

ResultSet rCol = dbMeta.getColumns("", "", sCurTable, "");

catalog - a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search

schemaPattern - a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search

Quelle

Diese Aussage lässt mich vermuten das entweder der CatlogName oder der SchemaName in deiner Datenbank hinterlegt ist. Durch den Leerstring als Parameter werden diese jedoch aus der Suche ausgeschlossen.

Versuche einmal folgenden Code


ResultSet rCol = dbMeta.getColumns(null,null, sCurTable, "");

Sollte das nicht den gewünschten Erfolg bringen könnte folgender Code noch das gewünschte Ergebnis bringen

ResultSet rCol = dbMeta.getColumns(null,null, sCurTable, "%");

Geschrieben

danke, das hatte ich auch schon probiert. Lag aber 1. an dem "%" und die table war klein geschrieben. Der jdbc treiber liefert aber doch alle tabellen groß.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...