2

準備済みステートメントを使用して選択ステートメントを作成しました。実行しようとするたびに、このエラーが発生します。どうすればこのエラーを克服できますか? 私の 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 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)
4

2 に答える 2

8

エラーはこの行にあります

    rs = stmt.executeQuery(selectSQL);

このようにする

    rs = stmt.executeQuery();
于 2013-10-01T08:13:51.463 に答える
1
executeQuery(your QUERY)

Statmentあなたがすべてのオブジェクトを扱っている間、サポートされています

 rs = stmt.executeQuery();
于 2013-10-01T08:15:24.817 に答える