java.sql.SQLException: '@P0' 附近有語法錯誤

bolan392發表於2010-09-07

執行的程式碼如下:

 

        String sql = ”select top ? * from bbs_posts where p_fid=? order by p_addtime desc”;
        prepStmt = conn.prepareStatement(sql);
        prepStmt.setInt(1, xxx);
        prepStmt.setInt(2, xx);
        prepStmt.executeQuery()

 

控制檯報錯:java.sql.SQLException: '@P0' 附近有語法錯誤

查了一下原因:sql不支援為select top ? 預編譯

使用字串的動態拼接解決:

 

        String sql = ”select top %s * from bbs_posts where p_fid=? order by p_addtime desc”;
        sql = String.format(sql, num);

其中,引數num為將要拼接到SQL語句中的引數。 

相關文章