stmt = con.createStatement();
不对啊,应该为:
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,CONCUR_UPDATE);

解决方案 »

  1.   

    因为Statement stmt = con.createStatement();创建的对象不支持前滚和其他等一些操作的。
      

  2.   

    : micker(希望下一代别再贫穷) (  我用你的方法试了一下,还是报同样的错:
    This JDBC 2.0 method is not implemented 
    会不会还是和驱动有关系呢?连接数据库:
     private String url = "jdbc:weblogic:mssqlserver4:";
        private String serverName = "192.168.0.125";  //缺省配置参数
        private String portNumber = "1433";
        private String databaseName = "fujian_db";
        private String userName = "sa";
        private String password = "yang";    private java.sql.Connection  con = null;
        private Statement stmt = null;
        private Statement stmtNum = null;
        private PreparedStatement pstmt = null;
        private ResultSet rs = null;
        private int resultNum = 0;
        private ResultSet countRs = null;
        private int rsNum = 0;
        public int stateNum1;
        /** 构造函数 **/
        public OpenDb() {
            stateNum1 = 1;
            try{
    Class.forName("weblogic.jdbc.mssqlserver4.Driver").newInstance();
                con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
                stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
            }catch(Exception e){
                e.printStackTrace();
                System.out.println("数据库连接错误 : " + e.getMessage());
            }
        }    private String getConnectionUrl(){
            return url + databaseName + "@" + serverName;
        }
      

  3.   

    ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE
    我已经加上这个参数了,可还是抱错啊
      

  4.   

    完整源码如下:
     在调用executeQuery时就会抱错:数据库连接错误 : This JDBC 2.0 method is not implementedpackage opendb;
    import java.sql.*;/**
     * 连接数据库bean
     * 用法:OpenDb db=new OpenDb();
     *      查询:db.executeQuery(sql);
     *      更新:db.executeUpdate(sql);
     */
    public class OpenDb{
        private String url = "jdbc:weblogic:mssqlserver4:";
        private String serverName = "192.168.0.125";  //缺省配置参数
        private String portNumber = "1433";
        private String databaseName = "fujian_db";
        private String userName = "sa";
        private String password = "yang";    private java.sql.Connection  con = null;
        private Statement stmt = null;
        private Statement stmtNum = null;
        private PreparedStatement pstmt = null;
        private ResultSet rs = null;
        private int resultNum = 0;
        private ResultSet countRs = null;
        private int rsNum = 0;
        public int stateNum1;
        /** 构造函数 **/
        public OpenDb() {
            stateNum1 = 1;
            try{
    Class.forName("weblogic.jdbc.mssqlserver4.Driver").newInstance();
                con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
                stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
            }catch(Exception e){
                e.printStackTrace();
                System.out.println("数据库连接错误 : " + e.getMessage());
            }
        }    private String getConnectionUrl(){
            return url + databaseName + "@" + serverName;
        }    /**
         * 检查SQL语句:清除不非法的语句
         * @param sql SQl语句
         * @return sql SQL语句
         */
        public ResultSet executeNormalQuery(String sql) {
            rs = null;
            countRs = null;        try {
                rs = stmt.executeQuery(sql);
                stmtNum = con.createStatement();
            } catch(SQLException se) {
                System.out.println("查询错误:" + se.getMessage());
            }
            return rs;
        }
        /**
         * 执行SQL语句:查询记录
         * @param sql SQL语句
         * @return ResultSet 记录集
         */
        public ResultSet executeQuery(String sql) {
            rs = null;
            countRs = null;
            int i = sql.indexOf(" from (");
            i = sql.indexOf(" from ");
            String tempSql=sql.substring(i);
            tempSql = "select count(*) " + tempSql;
            i = tempSql.indexOf("ORDER BY");
            if( i != -1)
               tempSql = tempSql.substring(0,i);
            i = tempSql.indexOf("order by");
            if( i != -1)
                tempSql.substring(0,i);        try {
                rs = stmt.executeQuery(sql);
                stmtNum = con.createStatement();
                countRs = stmtNum.executeQuery(tempSql);
            } catch(SQLException se) {
                System.out.println("查询错误:" + se.getMessage());
            }        try{
                if (countRs.next())
                     rsNum=countRs.getInt(1);
            }
            catch(SQLException se) {
                System.out.println("查询错误:" + se.getMessage());
            }
            return rs;
        }    public void executeQueryNum(String sql) {
            countRs = null;
            int i=sql.indexOf(" from ");
            if(i==-1)
                i=sql.indexOf(" FROM ");
            String tempSql=sql.substring(i);
            tempSql = "select count(*) " + tempSql;
            i = tempSql.indexOf("ORDER BY");
            System.out.println(i);
            if( i != -1)
                tempSql.substring(0,i);        try {
                stmtNum = con.createStatement();
                countRs = stmtNum.executeQuery(tempSql);
            }
            catch(SQLException se) {
                System.out.println("查询错误:" + se.getMessage());
            }        try{
                if (countRs.next())
                    rsNum=countRs.getInt(1);
            }
            catch(SQLException se) {
                System.out.println("查询错误:" + se.getMessage());
            }    }    public void setStateNum(int setState) {        stateNum1 = setState;    }    /**
         * 返回记录数
         * @ param void
         * @ return rsNumb
         */
        public int getRsNum()
        {
          return rsNum;
        }
        /**
         * 批量处理
         * @param sql SQL语句
         * @return PreparedStatement pstmt;
         */
        public java.sql.PreparedStatement preparedStatement(String sql){
            pstmt = null;
            try {
                pstmt = con.prepareStatement(sql);        }catch(SQLException e) {
                System.out.println("查询错误:" + e.getMessage());
            }
            return pstmt;
        }    /**
         * 执行SQL语句 :插入与更新记录
         * @param sql SQL语句
         * @return int resultNum 更新的记录数
         */
        public int executeUpdate(String sql) {
            resultNum = 0;
            try {
                resultNum = stmt.executeUpdate(sql);
            } catch (SQLException se) {
                System.err.println("更新错误:" + se.getMessage());
            }
            return resultNum;
        }
        /**
         * 获取数据库相关信息,驱动名称,版本,数据库产品版本等
         */
        public void displayDbProperties(){
              java.sql.DatabaseMetaData dm = null;
              java.sql.ResultSet rs = null;
              try{
                   if (con != null) {
                        dm = con.getMetaData();
                        System.out.println("Driver Information");
                        System.out.println("\tDriver Name: " + dm.getDriverName());
                        System.out.println("\tDriver Version: " + dm.getDriverVersion ());
                        System.out.println("\nDatabase Information ");
                        System.out.println("\tDatabase Name: " + dm.getDatabaseProductName());
                        System.out.println("\tDatabase Version: " + dm.getDatabaseProductVersion());
                        System.out.println("Avalilable Catalogs ");
                        rs = dm.getCatalogs();
                        while (rs.next()) {
                             System.out.println("\tcatalog: "+ rs.getString(1));
                        }
                        rs.close();
                        rs = null;
                        closeConnection();
                   }else System.out.println("Error: No active Connection");
              }catch(Exception e) {
                   e.printStackTrace();
              }
              dm=null;
         }
        /**
         * 关闭连接
         */
        public void closeConnection(){
            try {
                if (rs != null) {
                    rs.close();
                    rs = null;
                }            if (countRs != null) {
                    countRs.close();
                    countRs = null;
                }            if (stmt != null) {
                    stmt.close();
                    stmt = null;
                }            if (stmtNum != null) {
                    stmtNum.close();
                    stmtNum = null;
                }
                if (con != null) {
                    con.close();
                    con = null;
                }
            } catch (SQLException se) {
                System.out.println("数据库关闭错误: " + se.getMessage());
            }    }}