aparece isso nos Problems
Description Resource Path Location Type
Type mismatch: cannot convert from java.sql.PreparedStatement to com.mysql.jdbc.PreparedStatement ContatoCrudJDBC.java /CursoJDBC/src/cursojava/fit/banco/crudjdbc line 28 Java Problem
verifiquei os imports das duas classes e bate o
com.mysql.jdbc.
segue o código das duas classes:
import java.sql.DriverManager;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
public class ConectaMySQL {
public Connection Conecta()
{
Connection conn=null;
try{
String url="jdbc:mysql://localhost/agenda_contato";
String usu= "root";
String senha="sa";
conn=(Connection) DriverManager.getConnection(url,usu,senha);
System.out.println("conectou");
}catch(SQLException e)
{System.out.println("erro de sql"+e.getMessage());}
// finally
// {
// try
// {
// conn.close();
// }catch(SQLException e )
// {System.out.println("erro fechar conexao"+e.getMessage());}
// }
return conn;
}
}
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import cursojava.fit.banco.conexao.*;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
public class ContatoCrudJDBC implements Icontato
{
@Override
public void salvar(Contato cont)
{
Connection conn = this.getCon();
PreparedStatement insereSt = null;
String sql ="insert into contato(nome, telefone, email, dt_cad, obs) values(?,?,?,?,?)";
try{
insereSt = conn.prepareStatement(sql);
insereSt.setString(1, cont.getNome());
insereSt.setString(2, cont.getTel());
insereSt.setString(3, cont.getEmail());
insereSt.setDate(4, cont.getData_cad());
insereSt.setString(5, cont.getObs());
insereSt.executeUpdate();
}catch(SQLException e)
{JOptionPane.showMessageDialog(null, "erro ao incluir"+e.getMessage());}
finally
{
try{
insereSt.close();
}catch(Throwable t)
{JOptionPane.showMessageDialog(null, "erro ao fechar st"+t.getMessage());}
}
}
@Override
public void atualizar(Contato cont) {
// TODO Auto-generated method stub
}
@Override
public void excluir(Contato cont) {
// TODO Auto-generated method stub
}
@Override
public Contato buscarcontato(int val) {
// TODO Auto-generated method stub
return null;
}
public ArrayList<Contato> listar()
{
Connection conn = this.getCon();
ArrayList<Contato> list = new ArrayList<Contato>();
Statement consulta = null;
ResultSet result = null;
Contato contato = null;
String sql = "select * from agenda_contato";
try{
consulta= (Statement) conn.createStatement();
result= (ResultSet)consulta.executeQuery(sql);
while(result.next())
{
contato = new Contato();
contato.setCod(new Integer(result.getInt("codigo")));
contato.setNome(result.getString("nome"));
contato.setTel(result.getString("Telefone"));
contato.setEmail(result.getString("email"));
contato.setData_cad(result.getDate("data"));
contato.setObs(result.getString("obs"));
list.add(contato);
}
}catch(SQLException e){JOptionPane.showMessageDialog(null, "erro no contato"+e.getMessage());}
finally
{
try{
consulta.close();
result.close();
conn.close();
}catch(Exception e){JOptionPane.showMessageDialog(null, "erro ao fechar"+e.getMessage());}
}
return list;
}
public Connection getCon()
{
ConectaMySQL con = new ConectaMySQL();
return con.Conecta();
}
}
no meu código, a linha 28, que o erro indica é essa:
insereSt.setString(1, cont.getNome());
alguem sabe o que pode ser?