OI pessoal blz. então eu tenho 1 dvd de video aulas do neri de Java SE I Estoque sem ser aquele de 2011, pra quem já assistiu deve ter
visto a aula 56 que ele ensina a corrigir o erro do JCombox eu fiz igualzinho e acho que não é erro de versão do netbeans porq a minha é a 7.0.1 e quando vai adicionar ou remover um registro ele faz normal mas não atualiza a jTable e no combo box sai normal mas dá
esses erros aqui:
Não conseguiu localizar via digitação,erro : [Microsoft][ODBC Driver Manager ] Estado de cursor inválido
Não localizou dados: [Microsoft][ODBC Driver Manager ] Estado de cursor inválido
meu código-fonte é esse:
public class cad_cidades extends javax.swing.JFrame {
int navega = 0;
conexao con_cidade;
int inicia_combo = 0;
public cad_cidades() {
initComponents();
con_cidade = new conexao();
con_cidade.conecta();
con_cidade.executaSQL("select * from cidade");
try
{
while(con_cidade.resultset.next())
combo_pesquisa.addItem(con_cidade.resultset.getString("nome"));
con_cidade.resultset.first();
mostrar_dados();
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null,"Dados não localizados"+erro);
}
preencher_jtable();
}
private void botao_primeiroActionPerformed(java.awt.event.ActionEvent evt) {
try
{
con_cidade.resultset.first();
mostrar_dados();
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null,"Dados não localizados "+erro);
}
}
private void botao_ultimoActionPerformed(java.awt.event.ActionEvent evt) {
try
{
con_cidade.resultset.last();
mostrar_dados();
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null,"Não foi possivel ir para o ultimo registro"+erro);
}
}
private void botao_anteriorActionPerformed(java.awt.event.ActionEvent evt) {
try
{
con_cidade.resultset.previous();
mostrar_dados();
navega= 1;
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null,"Não foi possivel ir para o registro anterior"+erro);
}
}
private void botao_novoActionPerformed(java.awt.event.ActionEvent evt) {
tf_codigo.setText("");
tf_nome.setText("");
combo_uf.setSelectedItem("RS");
tf_nome.requestFocus();
tf_codigo.setEditable(false);
}
private void botao_salvarActionPerformed(java.awt.event.ActionEvent evt) {
//gravar dados
try
{
String sqlinsert = "insert into cidade(nome,uf) values ('"+
tf_nome.getText()+"','"+
combo_uf.getSelectedItem()+"')";
con_cidade.statement.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null,"Gravação realizada com sussesso");
//atualiza o Resultset
con_cidade.executaSQL("select * from cidade");
atualiza_combo_box_cidade();
con_cidade.resultset.first();
mostrar_dados();
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,"Erro ao gravar o registro ..."+erro);
}
}
private void botao_deletarActionPerformed(java.awt.event.ActionEvent evt) {
try
{
String sql = "select * from cidade Where codigo = "+tf_codigo.getText();
con_cidade.executaSQL(sql);
con_cidade.resultset.first();
String nome ="Deletar a cidade: "+con_cidade.resultset.getString("nome")+"?";
int opcao_escolhida = JOptionPane.showConfirmDialog(null,nome,"Exclusão ",JOptionPane.YES_NO_OPTION);
if(opcao_escolhida == JOptionPane.YES_OPTION)
{
sql = "DELETE FROM cidade Where codigo ="+tf_codigo.getText();
int conseguiu_excluir = con_cidade.statement.executeUpdate(sql);
if(conseguiu_excluir == 1)
{
JOptionPane.showMessageDialog(null,"exlusão realizada com sucesso");
//atualiza o resultset
con_cidade.executaSQL("Select * from cidade");
atualiza_combo_box_cidade();
con_cidade.resultset.first();
mostrar_dados();
}
}
else
return;
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,"Erro ao tentar excluir os dados... "+erro);
}
}
private void botao_alterarActionPerformed(java.awt.event.ActionEvent evt) {
try
{
String sql ="UPDATE cidade SET nome ='"+tf_nome.getText()+"',"+
"uf = '"+combo_uf.getSelectedItem()+"' where codigo = "+tf_codigo.getText();
con_cidade.statement.executeUpdate(sql);
JOptionPane.showMessageDialog(null,"Alteração realizada com sucesso!");
//atualiza o resultset
atualiza_combo_box_cidade();
con_cidade.resultset.next();
mostrar_dados();
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,"Não consgui alterar os dados...");
}
}
private void combo_pesquisaActionPerformed(java.awt.event.ActionEvent evt) {
if(inicia_combo == 1)
{
try
{
con_cidade.resultset.first();
String igual = "n";
while (igual == "n")
{
if(con_cidade.resultset.getString("nome").equals(combo_pesquisa.getSelectedItem()))
{
igual = "s";
}
else
con_cidade.resultset.next();
}
tf_codigo.setText(con_cidade.resultset.getString("codigo"));
mostrar_dados();
atualiza_combo_box_cidade();
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,"Não conseguiu localizar via digitação,erro:"+erro);
}
}
inicia_combo=1;
}
private void tf_pesquisaActionPerformed(java.awt.event.ActionEvent evt) {
try
{
con_cidade.resultset.first();
String igual = "n";
int tamanho_pesquisa = tf_pesquisa.getText().length();
while(igual == "n")
{
String pesquisado = con_cidade.resultset.getString("nome").substring(0,(tamanho_pesquisa));
if(pesquisado.equals(tf_pesquisa.getText()))
{
igual = "s";
}
else
con_cidade.resultset.next();
}
//as linhas baixo mostra os dados da tabela
tf_codigo.setText(con_cidade.resultset.getString("codigo"));
mostrar_dados();
combo_pesquisa.setSelectedItem(tf_nome.getText());
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,"Não conseguiu encontar via digitaçao,erro" +erro);
}
}
/**
* @param args the command line arguments
*/
// Variables declaration - do not modify
private javax.swing.JButton botao_alterar;
private javax.swing.JButton botao_anterior;
private javax.swing.JButton botao_deletar;
private javax.swing.JButton botao_novo;
private javax.swing.JButton botao_primeiro;
private javax.swing.JButton botao_proximo;
private javax.swing.JButton botao_salvar;
private javax.swing.JButton botao_ultimo;
private javax.swing.JComboBox combo_pesquisa;
private javax.swing.JComboBox combo_uf;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JTextField tf_codigo;
private javax.swing.JTextField tf_nome;
private javax.swing.JTextField tf_pesquisa;
// End of variables declaration
public void mostrar_dados()
{
try
{
tf_codigo.setText(con_cidade.resultset.getString("codigo"));
tf_nome.setText(con_cidade.resultset.getString("nome"));
combo_uf.setSelectedItem(con_cidade.resultset.getString("uf"));
}
catch (SQLException erro)
{
if(navega ==1)
JOptionPane.showMessageDialog(null,"Olha, voce já está no primeiro registro");
else if(navega ==2)
JOptionPane.showMessageDialog(null,"Olha, voce já está no ultimo registro");
else
JOptionPane.showMessageDialog(null,"Não conseguiu localizar os dados "+erro);
navega = 0;
}
}
public void atualiza_combo_box_cidade()
{
try
{
combo_pesquisa.removeAllItems();
con_cidade.executaSQL("select * from cidade");
while(con_cidade.resultset.next())
combo_pesquisa.addItem(con_cidade.resultset.getString("nome"));
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,"Não localizou dados "+erro);
}
}
public void preencher_jtable()
{
jTable1.getColumnModel().getColumn(0).setPreferredWidth(20);
jTable1.getColumnModel().getColumn(1).setPreferredWidth(150);
jTable1.getColumnModel().getColumn(2).setPreferredWidth(20);
DefaultTableModel modelo = (DefaultTableModel)jTable1.getModel();
modelo.setNumRows(0);
try
{
while(con_cidade.resultset.next())
modelo.addRow(new Object[]{con_cidade.resultset.getString("Codigo"),con_cidade.resultset.getString("nome"),con_cidade.resultset.getString("uf")});
con_cidade.resultset.first();
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,"Erro ao listar dados "+erro);
}
}
}
se alguém vir como resolver esse erro por favor me ajude