SQL em JTable

3 respostas
J

Olá pessoal sou novo no forum e tenho uma dúvida.

Eu tenho uma função do tipo Collection chamada getCds() ela procura cds no BD e retorna uma variavel chamda bd

eu quer o pegar os dados da variável bd e colocalos dentro de uma JTable
o que faço ???

Obrigado

3 Respostas

I

primeiramente,

bem vindo ao portaljava!

e sim…
da um olhada nesse artigo aih q acho q resolve teu problema:

http://www.imasters.com.br/artigo.php?cn=1245&cc=19

tu talvez só tenha que mudar o getCds() pra retornar um resultSet e nao uma collection.

flw

C

Toma aí brother!!!
Está integrado com PostGres.
Se for outro BD é só trocar a url e a especificação do DRIVER.
Abraço.
Charles

package Teste; 

import java.sql.*; 
import java.awt.*; 
import javax.swing.*; 

 

import java.util.*;


/**
* This code was generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* *************************************
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED
* for this machine, so Jigloo or this code cannot be used legally
* for any corporate or commercial purpose.
* *************************************
*/
public class ConsulAut extends JPanel { 
private Connection connection; 
private JTable table; 

public ConsulAut() { 
super(); 

String host = "192.168.2.4"; 
String porta = "5432"; 
String base = "biblioteca";
String dbURL = "jdbc:postgresql://" + host + ":" + porta + "/" + base;
String usuario = "AdminBi";
String senha = "dbbi";




try { 
Class.forName("org.postgresql.Driver"); 
connection = DriverManager.getConnection(dbURL, usuario, senha); 
} 
catch (ClassNotFoundException cnfex) { 
System.err.println( 
""); 
cnfex.printStackTrace(); 
System.exit(1); 
} 
catch (SQLException sqlex) { 
System.err.println(""); 
sqlex.printStackTrace(); 
} 

getTable(); 
this.setSize(450, 370); 
setLocation(5,20); 

} 

private void getTable() 
{ 
Statement statement; 
ResultSet resultset; 

try { 
String query = "Select autor,nome,localdearmazenamento from obra order by autor"; 
statement = connection.createStatement(); 
resultset = statement.executeQuery(query); 
displayResultSet(resultset); 
statement.close(); 
} 
catch ( SQLException sqlex ) { 
sqlex.printStackTrace(); 
} 
} 

private void displayResultSet(ResultSet rs ) 
throws SQLException 
{ 
boolean moreRecords = rs.next(); 

if (! moreRecords) { 
JOptionPane.showMessageDialog(this, "Nao existem registros na tabela!!"); 
//setTitle(); 
return; 
} 



Vector columnHeads = new Vector(); 
Vector rows = new Vector(); 

try { 
ResultSetMetaData rsmd = rs.getMetaData(); 
for (int i = 1; i <= rsmd.getColumnCount(); ++i) 
columnHeads.addElement(rsmd.getColumnName(i)); 

do { 
rows.addElement(getNextRow(rs, rsmd)); 
} while (rs.next()); 

table = new JTable(rows, columnHeads); 
JScrollPane scroller = new JScrollPane(table); 
add(scroller,BorderLayout.CENTER); 
scroller.setPreferredSize(new java.awt.Dimension(447, 353));
validate(); 
} 
catch (SQLException sqlex) { 
sqlex.printStackTrace(); 
} 
} 

private Vector getNextRow( ResultSet rs, ResultSetMetaData rsmd) 
throws SQLException 
{ 
Vector currentRow = new Vector(); 
for (int i = 1; i <= rsmd.getColumnCount(); ++i) 
switch(rsmd.getColumnType(i)) { 
case Types.VARCHAR: currentRow.addElement(rs.getString(i)); 
break; 
case Types.INTEGER:currentRow.addElement(new Long(rs.getLong(i))); 
break; 
/*case Types.LONGCHAR:currentRow.addElement(rs.getString(i)); 
break;*/ 
default: System.out.println("Tipo dos Dados: " + rsmd.getColumnTypeName(i)); 
} 
return currentRow; 
} 

public void shutDown() 
{ 
try { 
connection.close(); 
} 
catch (SQLException sqlex) { 
System.err.println("N? foi poss?el desconectar."); 
sqlex.printStackTrace(); 
} 
} 


}
J

muito obrigado era isso mesmo que eu precisava

Criado 5 de julho de 2005
Ultima resposta 5 de jul. de 2005
Respostas 3
Participantes 3