Erro No rs.Previous()

Erro No rs.previous()…
Tipo no negocio q eu to fazendo ja ta qse tudo certo, tipo assim qdo abre a aplicação ele ja seta o banco nos texts ai tudo bem… previous e next va tranquilo…
Agora qdo eu vo na barra de busca q ele cai no KeyEvent ele so enxerga o Next qdo do previous ele da pau…
Será q alguem consegue ve onde ta errado pq eu n to achando nem ferrando D;…

public class Classe2 extends MeuProjeto implements ActionListener,KeyListener{
DecimalFormat decimal = new DecimalFormat( "#,##0.00" );
private java.sql.Statement MeuState;
private ResultSet rs;


public Classe2(){
TxBusca.addKeyListener(this);
B1.addActionListener(this);
B2.addActionListener(this);
B3.addActionListener(this);

String url = "jdbc:odbc:Empresa"; 
try 
{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
Connection MinhaConexao = DriverManager.getConnection(url);
MeuState = MinhaConexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = MeuState.executeQuery("SELECT * FROM Produtos"); 
rs.first();
atualizaCampos();
} 
catch(ClassNotFoundException ex)
{
System.out.println("Driver JDBC-ODBC não encontrado!");
}
catch(SQLException ex)
{
System.out.println("Problemas na conexao com a fonte de dados");
} 

}

public static void main(String[] args) {
Classe2 xD = new Classe2();
xD.setVisible(true);

}
public void actionPerformed(ActionEvent e)
{
try
{
if (e.getSource()==B1){
rs.previous(); // Registro anterior
atualizaCampos(); 
}
if (e.getSource()==B2){
rs.next(); // Próximo registro
atualizaCampos(); 
} 
} 
catch(SQLException ex)
{
JOptionPane.showMessageDialog(null,"Erro ao tentar navegar entre os registros!");
} 

public void keyPressed(KeyEvent e) {

if(e.getSource()== TxBusca && e.getKeyCode() == e.VK_ENTER){

String Url = "jdbc:odbc:Empresa";
String Busca = TxBusca.getText();
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection Conexao = DriverManager.getConnection(Url);
MeuState = Conexao.createStatement();
String SQL ="SELECT * FROM Produtos where TipoProduto like '" + TxBusca.getText() + "%'";

rs = MeuState.executeQuery(SQL);
if(rs.next()){
atualizaCampos();
} 
}



catch (ClassNotFoundException ex){
JOptionPane.showMessageDialog(null,"Driver JDBC-ODBC não encontrado","Mensagem",1);
System.exit(0);

}
catch(SQLException ex){
JOptionPane.showMessageDialog(null,"Erro de SQL","Mensagem",1);
System.exit(0);
} 

}

}
public void keyReleased(KeyEvent arg0) {}

public void keyTyped(KeyEvent arg0) {}

public void atualizaCampos()
{
try
{
String cod = rs.getString("Codigo");
String Tipo = rs.getString("TipoProduto");
String Prod = rs.getString("Produto");
String Prec = rs.getString("Preco");
double valor = Double.parseDouble(Prec);
String Preco = decimal.format(valor);

Tx1.setText(cod);
Tx2.setText(Tipo);
Tx3.setText(Prod);
Tx4.setText("R$ " + Preco);

}
catch(SQLException ex)
{ }
}
}

Obrigado

Nunca, nunca, nunca faça isso:

catch(SQLException ex) { } ;D

No mínimo use isso aqui:

catch(SQLException ex) { ex.printStackTrace(); }

E mesmo que você faça um alert na exceção, também imprima o stack trace. Assim saberá exatamente qual o problema.

kkk

eu fiz mo bagunça com meus arquivos ai so fui colando nesse novo…
Nem vi isso kkkkkkkkkkkkk

Mas creio q n seja isso o problema ow eh?

Pelo amor de deus alguem me ajuda… kk