Sistema l'indentatura del codice che fa schifo![]()
e usa il tag [*CODE] [*/CODE] senza asterischi per postare del codice.
Poi, problemi: s è StringBuffer, il metodo ritorna una stringa... magari sarebbe meglio fare
Inoltre, definisci e inizializzi s all'interno del try e provi a ritornarlo al di fuori del try-catch dove "non è visibile".codice:return r.toString();
Prova a correggere la situazione così:
codice:public String query(String command)throws Exception { StringBuffer s = new StringBuffer(); // a partire dal ResultSet try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url="jdbc:odbc:Personale"; Connection connection=DriverManager.getConnectionurl,"root","xxxxx"); Statement statement = connection.createStatement(); ResultSet r = statement.executeQuery(command); if (r==null) { //scusa ma a che serve? } ResultSetMetaData rmeta = r.getMetaData(); // costruisco il MetaData int numColumns=rmeta.getColumnCount(); // Questo ciclo serve a stampare i nomi delle colonne for(int i=1;i<=numColumns;++i) { if(i<numColumns) { s.append(rmeta.getColumnName(i)+" | "); } else { s.append(rmeta.getColumnName(i)); } } s.append("\n"); // Questo ciclo per ogni riga stampa tutti i campi while(r.next()) { for(int i=1;i<=numColumns;++i) { if(i<numColumns) { s.append(r.getString(i)+" | "); } else { s.append(r.getString(i).trim()); } } s.append("\n"); } } catch(SQLException sqlEx) { System.out.println(sqlEx); } catch (ClassNotFoundException cnfEx) { System.out.println(cnfEx); } return s.toString(); }

e usa il tag [*CODE] [*/CODE] senza asterischi per postare del codice.
Rispondi quotando