Erro de jsp com banco de dados

4 respostas
F

Galera to tomando um pau do jsp, mas sigo na briga.
Fiz um select pra deletar um registro, baseado do código do item, segue trecho do código:

Código:

<% String pegaCodigo2 = request.getParameter("pegaCodigo");  
    
   Connection con1 = null; 
   try 
   { 
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
   String url = "jdbc:odbc:locadora"; 
   con1 = DriverManager.getConnection(url); 
   } 
   catch (Exception e) 
   { 
    out.println("Exception: " + e.toString()); 
   } 

   try { 
   Statement stmt = con1.createStatement(); 
   String sql = ""; 
   sql = "SELECT * FROM filmes WHERE codigo = " + pegaCodigo2; 
   ResultSet rs = stmt.executeQuery(sql); 
  
  %>

Olha o ero que me aparece na tela:

Erro: java.sql.SQLException: [Microsoft][ODBC Driver Manager] Estado de cursor inválido

Se alguem puder me ajudar, e me dizer oq esta errado, agradeço!!!

Obrigado,

Fábio

4 Respostas

F

Acho que vc tem que ver se o resultSet esta te retornando alguma coisa.
Tente ver qual a linha exata que esta ocorrendo erro.

L

bom amigo o objetop resultSet retorna uma especie de tabela onde vc manipula o cursor apontando para determinada linha… no seu codigo podem estar acontecendo duas coisas… ou seu resultSet esta vazio… ou vc esta esquencendo de mover o cursor para a primeira linha, para descobrir oq esta acontecendo faça:

if(!rs.next())out.println("ResultSet Vazio");

o metodo next() do objeto ResulSet verifica se existem uma proxima linha no seu ResultSet se existir ele retorna true e move o cursor, caso contrario retorna false.

espero ter ajudado :lol:

D

Simplesmente faça uma verificação se ele é != de vazio ou != de null

if(rs != null || rs != ""){ }

Se a condição for verdadeira significa que você tem registro no Resultset

D

Opa…no caso seria e (&&) e não ou (||)…
blz!?

Criado 21 de maio de 2005
Ultima resposta 24 de mai. de 2005
Respostas 4
Participantes 4