Problema com import java.sql.PreparedStatement

Java

28/02/2010

Saudaçoes caros programadores Java.

Estou seguindo o curso da devmedia introduçao a jsf, do Dyego Carmo, e em uma das suas aulas tem o seguinte
codigo.

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;




Porem, no meu netbeans 6.7, na linha 20 dá o seguinte erro

"incompatible types
required: java.sql.PreparedStatement
found   : java.sql.Statement"

então pede pra converter getPreparedStatement(...) para PreparedStatement(...)

o código está igual ao da video-aula, mas no meu código dá esse erro, e na video-aula não, o que poderia ser ?

alguma biblioteca ou jar faltando ?
o banco de dados é jabaDB.

Agradeço se alguem puder me ajudar.

dhigoos@bol.com.br

 




Rodrigo Vieira

Rodrigo Vieira

Curtidas 0

Respostas

Paulo Leite

Paulo Leite

28/02/2010

Olá Rodrigo, eu tb já segui esse curso um tempo atrás e tb me lembro de ter um erro desse tipo,
O que ocorre é que eu tinha esquecido de criar o Statement stmt;


          PreparedStatement ps = con.prepareStatement("Insert ... values(?,?,?,?)"); // con. é a referencia para a sessão da ConectionFactory que vai executar a sql e inserir o parametros ?,?,?.
          ps.getString(1, unidadeMedida.getMed_nome());
          ps.setString(2, ...
         
.....

/

Verifique se vc está atribuindo o PS a uma sessão da Conectionfactory, que retorna uma instancia de conexao ao seu banco de dados.
Esse getPreparedStatement provávelmente tem que um retorno do Tipo Statement. verifique isso no método getPreparedStatement.

OK abraço.
GOSTEI 0
Rodrigo Vieira

Rodrigo Vieira

28/02/2010


Agradeço pela resposta, vou tentar o que voce me falou, qualquer coisa te retorno, valeu irmão,
obrigado pela dica.
GOSTEI 0
Luis Garcia

Luis Garcia

28/02/2010

Rodrigo, boa noite.

Não cheguei a ver a video aula que mencionou, mas vou mostrar +/- o fluxo de uma consulta via jdbc:

Connection conn = null;
PreparedStatement ps = null;
try {
     Class.forName("driver_banco").newInstance();
     conn = DriverManager.getConnection("jdbc:estancia_banco", "usuario_banco", "senha_banco");

     ps = conn.prepareStatement("insert into table values(?,?,?)");
     ps.setString(1,"A");
     ps.setString(2,"B");
     ps.setString(3,"C");

     ps.execute();

} catch(SQLException e) {
     e.printStackTrace();
} finally {
     if (conn != null) {
           if (ps != null) {
                 ps.close();
                 conn.close();
           } else {
                 conn.close();
           }
     }
}

Esse método de getPreparedStatement deve estar encapsulando a conexão do banco.

Qualquer dúvida dê um alô.
Abraço, Garcia.
GOSTEI 0
Camilo Lopes

Camilo Lopes

28/02/2010

  dar uma olhada nesse meu post blog
GOSTEI 0
Rodrigo Vieira

Rodrigo Vieira

28/02/2010

  Agradeço a sugestão e a atençao de todos os programadores que me ajudaram e responderam,
vou tentar por em pratica as respostas de todos, assim que conseguir avisarei.
mais uma vez obrigado.
GOSTEI 0
Rodrigo Vieira

Rodrigo Vieira

28/02/2010

   dar uma olhada nesse meu post blog


obrigado pela sugestão, vou fazer as alteraçoes e ver se dar certo. valeu. 
GOSTEI 0
Rodrigo Vieira

Rodrigo Vieira

28/02/2010

Rodrigo, boa noite.



Não cheguei a ver a video aula que mencionou, mas vou mostrar +/- o
fluxo de uma consulta via jdbc:



Connection conn = null;

PreparedStatement ps = null;

try {

     Class.forName("driver_banco").newInstance();

     conn = DriverManager.getConnection("jdbc:estancia_banco",
"usuario_banco", "senha_banco");



     ps = conn.prepareStatement("insert into table values(?,?,?)");

     ps.setString(1,"A");
     ps.setString(2,"B");
     ps.setString(3,"C");


     ps.execute();


} catch(SQLException e) {

     e.printStackTrace();

} finally {
     if (conn != null) {
           if (ps != null) {
                 ps.close();
                 conn.close();
           } else {
                 conn.close();
           }
     }
}

Esse método de getPreparedStatement deve estar encapsulando a conexão do banco.

Qualquer dúvida dê um alô.
Abraço, Garcia.

 
 

valeu amigo, vou tentar sua sugestão, obrigado pela ajuda.
GOSTEI 0
Rodrigo Vieira

Rodrigo Vieira

28/02/2010

Olá Rodrigo, eu tb já segui esse curso um tempo atrás e tb me lembro de ter um erro desse tipo,
O que ocorre é que eu tinha esquecido de criar o Statement stmt;


          PreparedStatement ps = con.prepareStatement("Insert ... values(?,?,?,?)"); // con. é a referencia para a sessão da ConectionFactory que vai executar a sql e inserir o parametros ?,?,?.
          ps.getString(1, unidadeMedida.getMed_nome());
          ps.setString(2, ...
         
.....

/

Verifique se vc está atribuindo o PS a uma sessão da Conectionfactory, que retorna uma instancia de conexao ao seu banco de dados.
Esse getPreparedStatement provávelmente tem que um retorno do Tipo Statement. verifique isso no método getPreparedStatement.

OK abraço.

 
 

valeu amigo, vou tentar sua sugestão, obrigado pela ajuda.
GOSTEI 0
POSTAR