PDA

View Full Version : [JAVA]Visualizzare tabelle database


Bahamut Zero
04-10-2007, 12:05
Ragazzi ho necessità di stampare a video tabelle di database.....in particolare tabelle utenti con i loro campi come NOME,COGNOME,EMAIL ecc.....

C'è qualche comando che stampa a video tutto questo direttamente?

Sono un pò inesperto tnk x l'aiuto :)

morskott
04-10-2007, 23:05
con un po di codice scritto al voloclass Tupla{
String nome;
String cognome;
//...

String getCampo(int i){
switch(i){
case 1:{return this.nome;}
case 2:{return this.cognome;}
//etc
}
}

static int getNumeroCampi(){return 2;} //Solo Nome e cognome, da estendere
}
public class VisualizzaTuple extend JPanel{

public VisualizzaTuple(Connection conn){
try{
Statement st=conn.createStatement();
ResultSet rs=st.executeQuery("select * from MIA_TABELLA");
List<Tupla> listaDiTuple=new LinkedList<Tupla>();
while(rs.next()){
Tupla tupla=new Tupla();
tupla.nome=rs.getString("Nome");
tupla.cognome=rs.getString("Cognome");
//etc.
listaDiTuple.add(tupla);
}
rs.close();
st.close();
}catch(SQLException ex){
ex.printStackTrace();
}
String[][] tabella=creaTabella(listaDiTuple);
String[] titoli={"Nome","Cognome"};
JTable table=new JTable(tabella,titoli);
this.add(table);
}

private static String[][] creaTabella(List<Tupla> lista){
String[][] ris=new String[lista.size][Tupla.getNumeroCampi()];
for (int i=0;i<ris.length;i++){
for (int j=0;j<ris[i].length;j++){
ris[i][j]=lista.get(i).getCampo(j);
}
}
return ris;
}
Come codice è un po barbaro, in così poco tempo non mi è venuto di meglio, ma DOVREBBE (il condizionale è d'obbligo) funzionare. Dimmi un po se ti va bene.

In pratica così ti sei creato un JPanel che potrai mettere in qualsiasi JFrame (interfaccia GUI) vorrai, se volevi una cli invece di una gui la cosa si fa diversa (chiedimelo domani, so stanco!!!!!)

Bahamut Zero
05-10-2007, 00:38
sei stato gentilissimo.....poi domani appena sveglio mi vedo il codice ora è un pò tardino :asd:

Come tu dici questo codice ti visualizza in un JFrame....io queste tabelle volevo visualizzarle in una pagine JSP per un progetto che sto facendo con Struts,servlet ecc....

Su WEB sai cosa si potrebbe usare?

morskott
05-10-2007, 16:06
bhe, ricopi paro paro il codice che ti ho dato tranne le ultime 3 righe) in un metodo public static String[][] creaMatriceDaDB(Connection conn) (togliendo l'extends)) e ti crei una jsp<table>
<tr><th>Nome</th><th>Cognome</th></tr>

<%Connection conn=//Ti recuperi in qualche modo la connessione al db
String[][] matrix=VisualizzaTuple.creaMatriceDaDB(conn);
for (int i=0;i<matrix.length;i++){ %>
<tr>
<% for (int j=0;j<matrix[i].length;j++){ %>
<td><%=matrix[i][j]%></td>
<% } %>
</tr>
<% } %>
</table>

Vedi un po se funge......