Amigos estou precisando de uma força com netbeans, meu código funcionava legal com sunStudio8, estou querendo dispor os dados retornados de uma consulta em uma grade. No meu outro aplicativo feito no studio funcionava normalmente esse código que irei postar aqui, mais no netbeans ele não está organizando os dados na grade gostaria de saber se há alguma diferença no uso dele, entre as aplicações que eu usei?
private boolean consulta(String campos, String tabela, String campo, String texto) throws Exception {
try {
//>>fazer a instrução pra contar a quantidade de digitos para a consulta por codigo ou por descrião
int rcount = 0;
abreCon();
query = con.createStatement();
rs = query.executeQuery("select "+campos+" from "+tabela+" where ("+campo+" like '"+texto+"') limit 50");
while (rs.next()) {
//JOptionPane.showMessageDialog(null, "produto: "+rs.getString(1), "", JOptionPane.INFORMATION_MESSAGE);
++rcount;
}
if (rcount == 0){
limpaGrade();
JOptionPane.showMessageDialog(null, "Nenhum registro encontrado.");
} else {
organizaGrade(); //<<<<<<<<<<<<<< ele não organiza a instrução está abaixo
}
fechaCon();
return true;
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Não foi possivel executar a consulta.\nVerifique sua conexão.", "Falha...", JOptionPane.WARNING_MESSAGE);
return false;
}
}
/** Colocar os dados do rs da query na grade */
private void organizaGrade() throws SQLException{
limpaGrade();
//>> e reorganiza
DefaultTableModel modelo = (DefaultTableModel) grade.getModel();
while (rs.next()){
modelo.addRow(new String [] {"","","","",""});
grade.setValueAt(rs.getString("CODIGO"), rs.getRow()-1, 0);
grade.setValueAt(rs.getString("DESCRICAO"), rs.getRow()-1, 1);
grade.setValueAt(rs.getString("QUATIDADE"), rs.getRow()-1, 2);
grade.setValueAt(rs.getString("VALOR"), rs.getRow()-1, 3);
grade.setValueAt(rs.getString("PONTUACAO"), rs.getRow()-1, 4); //<< ja foi tentado rs.getString(0)
}
}
/** Faz uma limpeza na grade pra recolocar novos itens */
private void limpaGrade(){
DefaultTableModel modelo = (DefaultTableModel) grade.getModel();
int r = 0;
while (r != grade.getRowCount()) { modelo.removeRow(0); }
grade.doLayout();
}
grade = jTable
query = Statement
rs = ResultSet
se vocês notarem estou trabalhando com variáveis globais, mais não há nenhum problema com elas, já fiz o teste com locais também e não adiantou.
o retorno da consulta eu sei que há, por que se eu subistituir a instrução: organizaGrade(); por uma jOptionPane exibindo uma msg, eu consigo visualizar o retorno normalmente como deveria.
Não tenho experiência em java, já programo em outras linguagens mas java estou iniciando, e tenho muitas dúvidas :lol:
Fussei :lol: