在使用PreparedStatement执行SQL语句时候遇到一个问题
ResultSet rs=null;
Connection conn=BaseDao.getConn();
                  String sql="select Top ? * from room where RoomId not in (select Top ? RoomId from room order by RoomId ) order by RoomId";
                try {
PreparedStatement ps=conn.prepareStatement(sql);
ps.setInt(1,10);
                        ps.setInt(2,13);
rs=ps.executeQuery();

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}执行后报错:“@P0”附近有语法错误SQL没有问题  在查询分析器重可以执行并得到想要的结果网上查到 似乎 PreparedStatement 的"?"功能 不能和SQL的TOP 一起使用 ,请问这是为什么?有什么好的解决方法,除了直接硬拼SQL语句。?