我使用准备好的语句编写了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; }
错误代码..
2013年10月1日,下午1:23:23 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();