Problema com import java.sql.PreparedStatement

28/02/2010

1

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

 




Responder

Posts

01/03/2010

Paulo Leite

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.
Responder

02/03/2010

Rodrigo Vieira


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

04/03/2010

Luis Garcia

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.
Responder

09/03/2010

Camilo Lopes

  dar uma olhada nesse meu post blog
Responder

10/03/2010

Rodrigo Vieira

  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.
Responder

10/03/2010

Rodrigo Vieira

   dar uma olhada nesse meu post blog


obrigado pela sugestão, vou fazer as alteraçoes e ver se dar certo. valeu. 
Responder

10/03/2010

Rodrigo Vieira

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.
Responder

10/03/2010

Rodrigo Vieira

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.
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira