那肯定不是order by 的问题
应该是整个sql语句语法问题,看异常更应该是对结果集处理出现的问题啊

解决方案 »

  1.   

    同一个sql语句,同一种处理方法,加order by和不加order by效果完全不同(不是每条sql都这样),处理方式无非就是:
    while(resultSet.next()) {
        resultSet.getString("...");
        或
        resultSet.getString(i);
    }
      

  2.   

    那你order by的那个字段能否为空?或者根本就不能排序?
      

  3.   

    问题应该出在ORDER BY 排序的那个字段上。
      

  4.   

    新情况,我是在servlet中操作数据库的,我在weblogic中配了oracle连接池,在servlet中去连接oraclepool,这时候我的sql语句不能用order by(也不是每次都这样,有的sql可以),但是我将连接数据库的方式换成
    直接连接后,即
    static String driver = "oracle.jdbc.driver.OracleDriver";
    static String url = "jdbc:oracle:thin:@ip:port:serverName";Class.forName(driver);
    conn = DriverManager.getConnection(url,name,pass);
    这样就可以用order by,其他未作任何改动,而且原来用weblogic中的连接池所用的oracle驱动库也是oracle.jdbc.driver.OracleDriver不知为何,大家有何高见??
      

  5.   

    前段时间太忙,没时间结贴,问题是这样的,我用连接池时,创建statement时对RESULTSET进行了事务级别的改动,
    conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    这样就可以使用rs.last();rs.absolute(intCurRow);等方法。这种形式是不支持freshRow()方法的,换句话说就是不支持order by。