# "desc tablename" liefert SQL Exception mit execute



## Louis2 (10. Aug 2005)

Hallo,

ich führe ein SQL Statement der Art... aus.

```
Statement tablefields = main3.connection.createStatement(); 
String resulttablefields = "desc " + resultTable;
ResultSet rs3 = tablefields.executeQuery(resulttablefields);
                        
List fields = new ArrayList(); 
while (rs3.next()) 
{ 
    fields.add(rs3.getString(1));
}
```

und da kommt eine Exception bei Zeile 
	
	
	
	





```
ResultSet rs3 = tablefields.executeQuery(resulttablefields);
```
, "invalid SQL Statement".

Das ist auch so logisch, da ja "desc" keine Query ist, nun bleibt die Frage wie ich das Statement trotzdem ausführen kann. Mit nur "execute" liefert er mir ob das erste Ergebnis ein Objekt ist ja/nein (boolean) aber das bringt mir ja nicht weiter. Das Statement muss ausgeführt werden und mir Ergebnisse zurückgeben... wie?


----------



## Bleiglanz (10. Aug 2005)

> Das ist auch so logisch, da ja "desc" keine Query ist, nun bleibt die Frage wie ich das Statement trotzdem ausführen kann


wenn das keine Query ist, kannst du sie auch nicht ausführen?

was solln das machen?


----------



## Louis2 (10. Aug 2005)

Bleiglanz hat gesagt.:
			
		

> > Das ist auch so logisch, da ja "desc" keine Query ist, nun bleibt die Frage wie ich das Statement trotzdem ausführen kann
> 
> 
> wenn das keine Query ist, kannst du sie auch nicht ausführen?
> ...



Sagen wir mal "desc customer", nun liefert der mir alle Felder (und nur die Felder) die in der Tabelle "customer" drin sind. 
Mit "select * from customer" würde er mir ja auch alle Datensätze ausgeben, will ich aber nicht, will nur die Feldernamen.


----------



## Bleiglanz (10. Aug 2005)

schau in die api

unter DataBaseMetaData


----------



## Louis2 (10. Aug 2005)

Ich habe es anders gelöst: 
	
	
	
	





```
SELECT column_name FROM all_tab_columns WHERE table_name='....';
```
 nun ist es wieder eine Query und kann gelesen werden :wink:


----------



## Bleiglanz (10. Aug 2005)

wasn das für eine datenbank?


----------



## Louis2 (10. Aug 2005)

Bleiglanz hat gesagt.:
			
		

> wasn das für eine datenbank?


Oracle


----------

