Galera seguinte,
eu tenho um insert em um banco de dados mysql que funciona normalmente quando eu uso Statement mas, quando eu uso
PreparedStatement ocorre um erro, abaixo segue o código e logo
após o ERRO!
[code] public void insertAutor(AutorVO autor) {
/** Objeto da classe de conexão */
Conexao db = new Conexao();
/** Objeto de conexão com o banco */
Connection con = db.conectar();
/** Objeto statement */
PreparedStatement ps = null;
/** String com a sentença sql */
String sql = " INSERT "
+ " INTO "
+ " AUTOR "
+ " (NOME_AUTOR, "
+ " SOBRE_NOME_AUTOR, "
+ " SEXO_AUTOR) "
+ " VALUES ( ?, ?, ? ) ";
System.out.println(sql);
try {
/** Statement praparandos-se */
ps = con.prepareStatement( sql );
/** Inserindo os dados do PreparedStatement ( ps ) */
ps.setString( 1, autor.getNomeAutor().toString() );
ps.setString( 2, autor.getSobreNomeAutor().toString() );
ps.setString( 3, autor.getSexoAutor().toString() );
/** Execução da sentença SQL */
ps.executeUpdate( sql );
} catch (SQLException e) {
e.printStackTrace();
}
finally {
try {
con.close();
}
catch (SQLException e) {
e.printStackTrace();
}
}
}[/code]
ERRO
java.sql.SQLException: Syntax error or access violation, message from server: “You have an error in your SQL syntax near '?, ?, ? ) ’ at line 1”
OBS:O autor do topico sempre pode alterar o seu topico, não é necessário criar outro!