# Reihenfolge der Abfragen



## docciman (13. Dez 2004)

hi,

habe mein estes JDBC Programm geschrieben, doch bei der Abfrage der Acces Datenbank fängt die Ausgabe nicht mit 01 (dishNr)an sonder mit 21 dann 22,23, und dann erst 1,2,3 usw.
wieso und wie kann ich das ändern? 

danke

```
public void getDish_Database(){
           
           try {
   			ResultSet myRes;
   		    Statement myStat;
   		    myStat = connection.getStatment();
   		    myRes = myStat.executeQuery("SELECT * FROM Gerichte");
   		    
   		    
   		    String dishNr;
   		    String name;
   		 while (myRes.next()) {
		    	dishNr= myRes.getString("GerichtNr");
		    	name= myRes.getString("Name");
		    	
		    	System.out.println(dishNr+name);
		    }
		   	connection.closeDbConnection();
		}
		catch(SQLException ex) {
		}
	   	
	}
```


----------



## hanso512 (13. Dez 2004)

schreib mal bei deiner abfrage

```
SELECT * FROM Gerichte ORDER BY dishNr
```

das müsste klappen


----------



## abollm (13. Dez 2004)

Verwende die "order by"-Klausel, z.B.


```
...
myRes = myStat.executeQuery("SELECT * FROM Gerichte order by dishNr"); 
...
```

Hintergrund ist der, dass die Datensätze ohne die obige Klausel in der Reihenfolge ausgegeben werden, in der sie in die Access-DB eingegeben wurden.


----------



## thE_29 (14. Dez 2004)

Nochwas


```
catch(SQLException ex) {
      }
```

Für sowas hat man Exception in Java eingebaut, damit ihr alle die Ausgaben unterdrückt.... hilft viel beim Fehler auswerten ..... es ist ja die totale Arbeitt wenn man ex.printStackTrace(); hinschreibt, aber sowas werdet ihr nie begreifen, für euch sind try/catch Blöcke wahrscheinlich was negatives....


----------



## Bleiglanz (14. Dez 2004)

> Für sowas hat man Exception in Java eingebaut, damit ihr alle die Ausgaben unterdrückt.... hilft viel beim Fehler auswerten ..... es ist ja die totale Arbeitt wenn man ex.printStackTrace(); hinschreibt, aber sowas werdet ihr nie begreifen, für euch sind try/catch Blöcke wahrscheinlich was negatives....


gibs auf, das lesen die Leute in Büchern und Tutorials; wenn du jetzt auch noch sagen würdest, dass auch

ex.printStackTrace()

in produktivem Code eigentlich nichts verloren hat (sondern nur eine Hilfe beim Entwickeln ist), dann steigen erst recht alle aus. 

Mein Vorschlag: ein Test in diesem Board gegen das Pattern

catch([^\)]+\)\s*{\s*} // oder so ähnlich

und alle solchen Postings mit einem beleidigenden Bildchen versehen.


----------



## abollm (14. Dez 2004)

> Für sowas hat man Exception in Java eingebaut, damit ihr alle die Ausgaben unterdrückt.... hilft viel beim Fehler auswerten ..... es ist ja die totale Arbeitt wenn man ex.printStackTrace(); hinschreibt, aber sowas werdet ihr nie begreifen, für euch sind try/catch Blöcke wahrscheinlich was negatives....


Da kann ich mich nur voll anschließen (leider).


----------



## pogo (14. Dez 2004)

datenbanke ist so etwas egal die funktionieren nicht nach nummern, sondern nach allen oder keinen deshalb


----------



## thE_29 (15. Dez 2004)

Jojo 

Das glaubst aber auch nur du, ich arbeite mit postgressql,oracle,jetengine (acces) und sql server!

Da sind Unterschiede und das du dir aufs Hirn greifst und denkst, wieso kanns net mal Standards geben und sogar die Exception Fehlermeldungen sehen net gleich aus. Soviel zu dem (ich rede halt von SubSelects, Joins, etc, net Standardselect)


----------

