Tipo, eu fiz uma classe chamada Usuarios
public class Usuarios
{
private static Vector results = new Vector();
private static Banco banco = new Banco();
...
Dentro dessa classe eu tenho os métodos q chamam os métodos da classe banco (abre conexao, cria statement)…
Dentro da classe Usuarios tenho o seguinte método :
public void busca (String codigo, String nome, String saldo, String situacao, String tipo){
String sql = "SELECT codigo,nome,saldo,situacao,imagem,tipo from comensal" + sqlwhere(codigo, nome, saldo, situacao, tipo);
try {
ResultSet rs = banco.selecionar(sql);
while (rs.next()){
UsuarioRU usuario= new UsuarioRU();
usuario.setCod(rs.getInt("codigo"));
usuario.setNome(rs.getString("nome"));
usuario.setSituacao(rs.getString("situacao"));
usuario.setSaldo(rs.getFloat("saldo"));
usuario.setTipo(rs.getString("tipo"));
byte[] imgBytes = rs.getBytes(5);
usuario.setFoto(imgBytes);
results.addElement(usuario);
}
} catch (SQLException sqle){
sqle.printStackTrace();
}
}
Os parametros desse método vem de JtextFields e o método “sqlwhere” monta o where da sql sem erros.
O método busca na classe banco é este:
public ResultSet selecionar(String sql) { // seleção usuario
ResultSet rs = null;
try {
rs = stm.executeQuery(sql); //método executeQuery: usado para comandos SQL que retornam uma tabela
} catch (SQLException sqle){
sqle.printStackTrace();
}
return rs;
}
Então cada elemento do meu vetor results é um UsuarioRU, na classe UsuarioRU tenho os métodos get e set de cada variável. O método “percorre(int i)” apenas recebe a posição do vetor e retorna um UsuárioRu.
public UsuarioRU percorre(int i){
if (i < results.size()) {
UsuarioRU membro = (UsuarioRU) results.get(i);
return membro;
}
else
return null;
}
Dai vo preenchendo o Jtable.
private void buscaButton1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
usuarios.abreConexao();
usuarios.busca(buscacod.getText(),buscanome.getText(),buscasaldo.getText(),buscasit.getText(),buscatipo.getText());
if (usuarios.tamanho() == 0)
JOptionPane.showMessageDialog(null,"A consulta não retornou dados", "Restaurante Universitário",0);
else {
numerores_jLabel6.setText("Resultados: " + Integer.toString(usuarios.tamanho()));
DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();
for (int i=0; i < usuarios.tamanho() ; i++) {
modelo.addRow(new String [] {"","","","",""});
UsuarioRU membro = usuarios.percorre(i);
jTable1.setValueAt(Integer.toString(membro.getCod()),i,0);
jTable1.setValueAt(membro.getNome(),i,1);
jTable1.setValueAt(Float.toString(membro.getSaldo()),i,2);
jTable1.setValueAt(membro.getTipo(),i,3);
jTable1.setValueAt(membro.getSituacao(),i,4);
}
}
}
Coloquei dessa maneira pra ficar mais fácil a visualização da inserção
no Jtable, pois tenho que explicar os códigos dps… e tals
[]'s