# Alle Spalten und Zeilen eines ResultSets ausgeben ?



## JamesDean (29. Sep 2005)

hi,

möchte gern alle spalten meines resultsets ausgeben bekomme immer eine fehlermeldung. hier mein code:


```
ResultSet rs = dbV.getDbVerbindung().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                        ResultSet.CONCUR_UPDATABLE ).executeQuery(sql); // sql = select * from nutzer
				
	ResultSetMetaData meta = rs.getMetaData();
	
	int i = 1;
	int columns = meta.getColumnCount()+1;

	while (rs.next()){
				while(i<columns)
				sendMessage(this,rs.getString(i)+"\n");
	}

	rs.close();
```


habe wahrscheinlich noch einen groben denkfehler...

wenn ich eine feste spaltennummer angebe zum beispiel rs.getString(5) dann funzt es aber eben nur für die eine spalte...

mfg[/code]


----------



## Bleiglanz (29. Sep 2005)

welche fehlermeldung

die innere while schleife bricht nicht ab, hau ein i++ rein, und wozu das +1 beim ColumnCount? bei 5 spalten gibts den index 6 nicht

und: 

das int i=1 NACH rs.next


----------



## JamesDean (29. Sep 2005)

alles klar das i muss nach rs.next() funzt jetzt und natürlich i++ eingefügt...

besten dank

für alle die es interessiert. statt sendMessage System.out.print benutzen....


```
ResultSet rs = dbV.getDbVerbindung().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                        ResultSet.CONCUR_UPDATABLE ).executeQuery(sql);
				
	ResultSetMetaData rsmd = rs.getMetaData();
		
	int spalten = rsmd.getColumnCount();
		
	while (rs.next()){
		int i = 1;
		while(i<spalten+1){
		            sendMessage(this,rs.getString(i)+" ");
		            i++;
		}
		sendMessage(this,"\n");
	}
rs.close();
```


----------

