Iai Feras,
Já havia conseguido usar a jtable com o select normal, mas ai surgiu a necessidade de usar dados de tabelas diferentes na jtable, e pelo que pesquisei nesse caso devo usar o commando inner join,
fiz assim,
no inicio do form ele chama esse codigo:
public class Cad_membros extends javax.swing.JFrame {
int navega = 0;
BancoConect con_membro_disc;
BancoConect con_membro_red;
BancoConect con_membros;
String ordenacao = "MEM_NOME";
boolean primeiraVezDiscipulador = true;
boolean primeiraVezRede = true;
/** Creates new form Cad_membros */
public Cad_membros() {
initComponents();
con_membro_disc = new BancoConect();
con_membro_disc.conecta();
con_membro_disc.executeSQL("select membros.MEM_NOME,membros.MEM_CODIGO, discipulador.DISC_NOME "
+"from membros inner join discipulador " +
"on membros.DISC_CODIGO = discipulador.DISC_CODIGO " +
"order by membros.MEM_NOME, discipulador.DISC_NOME");
con_membro_red = new BancoConect();
con_membro_red.conecta();
con_membro_red.executeSQL("select membros.MEM_NOME, rede.RED_NOME "
+"from membros inner join rede " +
"on membros.RED_CODIGO = rede.RED_CODIGO " +
"order by membros.MEM_NOME, rede.RED_NOME");
preencher_tabela();
con_membros = new BancoConect();
con_membros.conecta();
con_membros.executeSQL("select * from membros order by " + ordenacao);
Perceba que tem um método preencher_tabela que criei com esse código:
public void preencher_tabela() {
jt_membro.getColumnModel().getColumn(0).setPreferredWidth(50);
jt_membro.getColumnModel().getColumn(1).setPreferredWidth(200);
jt_membro.getColumnModel().getColumn(2).setPreferredWidth(200);
jt_membro.getColumnModel().getColumn(3).setPreferredWidth(200);
DefaultTableModel modelo = (DefaultTableModel) jt_membro.getModel();
modelo.setNumRows(0);
try {
while (con_membro_red.resultSet.next() && con_membro_disc.resultSet.next()) {
modelo.addRow(new Object[]{con_membro_disc.resultSet.getString("MEM_CODIGO"), con_membro_disc.resultSet.getString("MEM_NOME"),
con_membro_red.resultSet.getString("RED_NOME"), con_membro_disc.resultSet.getString("DISC_NOME")});
}
con_membro_disc.resultSet.first();
con_membro_red.resultSet.first();
} catch (SQLException erro) {
JOptionPane.showMessageDialog(null, "Erro ao listar dados de membros! " + erro);
}
}
[b]
A grande questão é,
quando executo esse sql direto no banco, funciona normalmente, prova que o sintaxe está correta, no entanto não imprime na JTABLE…
preciso de uma ajuda nesse sentido,…
[/b]