Re:JTable + Oracle

1 resposta
T

Tás dando um new JTable E um new TableModel dentro do loop? Pra setar o TableModel pro JTable dá só um JTable.setModel(modelo). E o new TableModel vai apagar todos os registros anteriores que tavam nele.

Podes fazer desse jeito que tás tentando, mas o aconcelhável é criar teu próprio TableModel extendendo o AbstractTableModel. Dá uma lida sobre TableModel:

http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

1 Resposta

D
Pessoal, estou com dificuldade para fazer um JTable pegar o resultado de um select da minha conexão com Oracle... O JTable deve retornar duas colunas do banco, uma nome_fil e outra empresa.
//Conexão com Oracle
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.2:1521:BANCO","usuario","senha");
//JTable
	private JTable getJTable() {
		if (jTable == null) {
			try {
				DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
				con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.2:1521:BD","user","senha");
				Statement statement = con.createStatement();
				ResultSet rs = statement.executeQuery("select nome_fil,empresa from c_filial");
				
				while (rs.next()) {
					String cod_fil = rs.getString("cod_fil");
					String empresa = rs.getString("empresa");
					String[] colunas = new String []{"Código","Nome"};
					DefaultTableModel modelo = new DefaultTableModel(cod_fil, empresa, colunas);
					modelo.addRow(new Object[]{dados});
					jTable = new JTable(modelo);
				 }
				jTable = new JTable(dtm);
			 }
				 catch(SQLException e)	 {
			 JOptionPane.showMessageDialog(null,"SQLException: " + e.getMessage());
			 }
		return jTable;
	}
Obrigado
Criado 5 de maio de 2006
Ultima resposta 4 de mai. de 2006
Respostas 1
Participantes 2