Erro com PreparedStatement!

Ai pessoal to recebendo o seguinte erro ao usar preparedstatement:

[quote]Exception in thread “main” java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from PreparedStatement to PreparedStatement

at Con1.main(Con1.java:44)

[/quote]

esse aqui é a class:

[code]import java.sql.Connection;
import java.sql.SQLException;

import com.mysql.jdbc.PreparedStatement;

public class Contato {
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
private Long id;
private String nome;
private String email;
private String endereco;
}

public class Con1 {

 public static void main(String[] args)throws SQLException { 

	 Connection con = ConnectionFactory.getConnection();

	 String sql = "insert into contatos (nome,email,endereco) values (?,?,?)";
	 PreparedStatement stmt = con.prepareStatement(sql);

	 stmt.setString(1, "Caelum");
	 stmt.setString(2, "contato@caelum.com.br");
	 stmt.setString(3, "R. Vergueiro 3185 cj57");

	 stmt.execute();
	 stmt.close();
	 System.out.println("Gravado!");
	 con.close();
	 }

}[/code]

e o código esta igual o da apostila da caelum…

se alguem puder ajudar…

flw !!!

Verifica se sua aplicação tem o Driver do MySQL e revise a sua ConnectionFactory outra coisa esse import na linha 04 da classe contato ta estranho.


 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;

 public class ConnectionFactory {
     private static final String URL="jdbc:mysql://localhost:3306/test";
     private static final String DRIVER="com.mysql.jdbc.Driver";
     private static final String USUARIO="root";
     private static final String SENHA="";

     public static Connection getConnection() throws SQLException{
         try{
             Class.forName(DRIVER);
         System.out.println("Conectado ao banco");
         return DriverManager.getConnection(URL, USUARIO, SENHA);
    }
     catch (ClassNotFoundException e){
        throw new SQLException(e.getMessage());
     }
 }

}

esse aqui é meu conectionfactory:

[code]import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionFactory {
public static Connection getConnection() throws SQLException {
try {
Class.forName(“com.mysql.jdbc.Driver”);
System.out.println(“Conectado!”);
return DriverManager.getConnection(“jdbc:mysql://localhost/teste”,“root”,"");

		} catch (ClassNotFoundException e) {  
		 throw new SQLException(e.getMessage()); 
	}
}

}
[/code]

o erro é exatamente nessa linha:

PreparedStatement stmt = con.prepareStatement(sql);

revisei tudo mas continua dando erro…

troco isso import com.mysql.jdbc.PreparedStatement;

por isso

import java.sql.PreparedStatement;

?

Opa cara valeu pela ajuda, mas o erro era no cast dessa linha:

PreparedStatement stmt = con.prepareStatement(sql);

O certo é:

PreparedStatement stmt = (PreparedStatement) con.prepareStatement(sql);

ou:

java.mysql.PreparedStatement stmt = con.prepareStatement(sql);

abrass!!! flw

[quote=Whit3Byt3]Opa cara valeu pela ajuda, mas o erro era no cast dessa linha:

PreparedStatement stmt = con.prepareStatement(sql);

O certo é:

PreparedStatement stmt = (PreparedStatement) con.prepareStatement(sql);

ou:

java.mysql.PreparedStatement stmt = con.prepareStatement(sql);

abrass!!! flw[/quote]

Se vc troca o import não precisa fazer o cast.