Jtable

package cadastro;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import oracle.toplink.essentials.internal.expressions.SQLInsertStatement;
import ultilitario.conexao;

/**
*

  • @author Administrador
    */
    public class cidade extends javax.swing.JFrame {

    conexao con_cidade;

    /** Creates new form cidade */
    public cidade() {
    initComponents();

     con_cidade = new conexao();
     con_cidade.conecta();
     con_cidade.executeSQL("select * FROM cidade");
      
     try
    {
     con_cidade.resultset.first();   
     codigo.setText(con_cidade.resultset.getString("codigo"));
     nome.setText(con_cidade.resultset.getString("nome"));
     uf.setSelectedItem(con_cidade.resultset.getString("uf"));
     cep.setText(con_cidade.resultset.getString("cep"));
     codigo.setEditable(false);
    

    }
    catch(SQLException erro)
    {
    JOptionPane.showMessageDialog(null,“Não localizou dados”+erro);
    }
    preencher_table();

private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {
try
{
String sql =“UPDATE cidade SET nome =’”+nome.getText()+"’,"+
“cep =’”+cep.getText()+"’,"+
“uf = '”+uf.getSelectedItem()+"’ where codigo = "+codigo.getText();
con_cidade.statement.executeUpdate(sql);
JOptionPane.showMessageDialog(null,"Alteração realizada com Sucesso! ");

    con_cidade.executeSQL("Select * from cidade");
    con_cidade.resultset.next();
    mostrar_dados();
}
catch(SQLException erro)
{
    JOptionPane.showMessageDialog(null,"Nâo foi Possivel fazer Alteração"+erro);
}
}                                        

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                         
codigo.setText("");
nome.setText("");
cep.setText("");
uf.setSelectedItem("AC");
nome.requestFocus();
codigo.setEditable(false);
}                                        

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
try
{
    con_cidade.resultset.previous();
    mostrar_dados();
}
catch(SQLException erro)
{
 JOptionPane.showMessageDialog(null,"Não localizou dados"+erro);
}
}                                        

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
try {
    con_cidade.resultset.last();
    mostrar_dados();
    }
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,"Não localizou dados"+erro);
}
}                                        

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
 try {
        con_cidade.resultset.first();
        mostrar_dados();
    } catch(SQLException erro) {
        JOptionPane.showMessageDialog(null,"Não localizou dados"+erro);
    }
}                                        

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {                                         
try
{
    String sqlinsert ="insert into cidade (nome,cep,uf) values ('"+
    nome.getText()+"','"+
    cep.getText()+"','"+
    uf.getSelectedItem()+"')";
    con_cidade.statement.executeUpdate(sqlinsert);
    JOptionPane.showMessageDialog(null,"Gravação realizado com sucesso!");
    
    con_cidade.executeSQL("Select * from cidade");
    con_cidade.resultset.first();
    mostrar_dados();
   }
catch(SQLException erro)
{
    JOptionPane.showMessageDialog(null,"Erro a tentar Gravar o Registros"+erro);
}
}                                        

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    try {
        con_cidade.resultset.next();
        mostrar_dados();
    } catch(SQLException erro) {
        JOptionPane.showMessageDialog(null,"Não localizou dados"+erro);
    }
}               

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new cidade().setVisible(true);
}
});
}

public void mostrar_dados()
{
try
{
codigo.setText(con_cidade.resultset.getString(“codigo”));
nome.setText(con_cidade.resultset.getString(“nome”));
uf.setSelectedItem(con_cidade.resultset.getString(“uf”));
cep.setText(con_cidade.resultset.getString(“cep”));
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,“Não localizou dados”+erro);
}
}

public void preencher_table()
{
    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")});
        
    }
    
    catch(SQLException erro)
    {
        JOptionPane.showMessageDialog(null,"Erro ao lista"+erro);
    }
}

}

esta minha class de cidade que eu clei

depois que clei um Jtable e fiz para motrar dados no Jtable quando eu vou clicar no botão proximo (next) fica
aparecendo este erro

não localizou dadosjava.sql.SQLException: [Microsoft][OBDC Driver Manager] Estado de cursor invalido.

quando eu clico no botão voltar e depois avança ele fucionar normal

o programa que eu estou usando e o netbeans 5.5
que so novato nesta area de java

si alguem puder ajudar
eu agradeço muito .

OLa,

como vc pode ver na mensagem

java.sql.SQLException: [Microsoft][OBDC Driver Manager] Estado de cursor invalido. 

o erro nao eh do jtable como seu titulo sugere.

Algumas dicas para que possamos te ajudar:
1- Sempre coloque seu codigo fonte entre as tags code
2- Informe em que classe e linha está ocorrendo o erro
3- Se possivel sempre coloque o printstackTrace
4- De uma lida rapida nesse documento http://java.sun.com/docs/codeconv/

[]'s