mysql准备的语句错误:MySQLSyntaxErrorException

我用准备好的语句写了select语句。 每次尝试运行它给出这个错误。 我怎么过来这个错误? 我的jdbc连接器是mysql-connector-java-5.1.13-bin.jar。 我的代码:

public Main_add_ad_to getAdDetail(int ad_id) { Dbconnection db = new Dbconnection(); Connection con = db.getConnection(); ResultSet rs = null; PreparedStatement stmt = null; Main_add_ad_to detail_to = new Main_add_ad_to(); try { String selectSQL = "SELECT * FROM ads_tbl where id = ?"; stmt = con.prepareStatement(selectSQL); stmt.setInt(1, ad_id); rs = stmt.executeQuery(selectSQL); while (rs.next()) { detail_to.setCat_ad(rs.getString("cat")); detail_to.setType_ad(rs.getString("sale_type")); detail_to.setBrand(rs.getString("brand")); }catch (SQLException ex) { Logger.getLogger(Lands_cls.class.getName()).log(Level.SEVERE, null, ex); } return detail_to; } 

错误代码..

Oct 01,2013 1:23:23 PM sanin.lands.model.View_ads_cls getAdDetail

 SEVERE: null com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 1 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 

错误在这一行

  rs = stmt.executeQuery(selectSQL); 

这样做

  rs = stmt.executeQuery(); 
 executeQuery(your QUERY) 

在您处理Statment对象时支持

  rs = stmt.executeQuery();