报错信息如下:Exception in thread "main" java.lang.UnsupportedOperationException 
        at sun.jdbc.odbc.JdbcOdbcConnection.createStatement(JdbcOdbcConnection.java:1724)

解决方案 »

  1.   

    从报错信息来看,应该createStatement时使用了非支持方式的参数
    把代码贴出来
      

  2.   

    代码是这样的: import java.sql.*; /**
      * 这个类演示利用 JDBC 实现数据查询。
      * @version 1.0, 2005 年 8 月 26 日
      * @author Ben
      */
     class JDBCTest2 {
       /**
        * 构造方法.
        */
       protected JDBCTest2() {
       }   /**
        * 这是 main 方法.
        * 它演示 SQL 中 sum() 方法的用法
        * @param args 被传递至 main 方法
        */
        public static void main(String[] args) {
          try {
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          } catch (ClassNotFoundException ce) {
       System.out.println(ce);
          }      try {
       String url = "jdbc:odbc:test";
       Connection con = DriverManager.getConnection(url, "sa", "sa");
       /*Statement s = con.createStatement();
       ResultSet rs = s.executeQuery(
    "select friendHiredate, sum(friendSalary) from friends group by friendHiredate");
       
       while (rs.next()) {
         System.out.print(rs.getDate(1) + "\t");
         System.out.print(rs.getInt(2) + "\n");
       }
       */    /*String str = "select emp_id, lname, fname from colleagues";
       Statement stmt = con.createStatement();
       ResultSet rset = stmt.executeQuery(str);    while (rset.next()) {
         System.out.print(rset.getInt(1) + "\t");
         System.out.print(rset.getString(2) + ".");
         System.out.print(rset.getString(3) + "\n");
       }*/    /*String str = "insert coffee values('French_Roast', 00049, 8.99, 0, 0)";
       Statement stmt = con.createStatement();
       int rowcount = stmt.executeUpdate(str);    if (rowcount > 0) {
            System.out.println("数据插入成功");
       } else {
    System.out.println("数据插入失败");
       }*/    /*Statement stmt = con.createStatement();
       ResultSet rs = stmt.executeQuery("select friendName, friendSalary from Friends");    System.out.println("名字\t月薪");
       while (rs.next()) {
         System.out.print(rs.getString("friendName") + "\t");
         System.out.print(rs.getInt("friendSalary") + "\n");
       }    rs.close();
       stmt.close();
       con.close();*/    Statement stmt = con.createStatement(
    ResultSet.TYPE_SCROLL_SENSITIVE, 
    ResultSet.CONCUR_UPDATABLE,ResultSet.HOLD_CURSORS_OVER_COMMIT);

       ResultSet rs = stmt.executeQuery("select friendName, friendSalary from Friends");    System.out.println("名字\t月薪");
       while (rs.next()) {
         System.out.print(rs.getString("friendName") + "\t");
         System.out.print(rs.getInt("friendSalary") + "\n");
       }    rs.close();
       stmt.close();
       con.close();
         } catch (SQLException se) {
       System.out.println(se);
         }
       }
     }
      

  3.   

    主要是这句:
    Statement stmt = con.createStatement(
    ResultSet.TYPE_SCROLL_SENSITIVE, 
    ResultSet.CONCUR_UPDATABLE,ResultSet.HOLD_CURSORS_OVER_COMMIT);
    谢谢大家,帮忙了
      

  4.   


    Statement stmt = con.createStatement(
    ResultSet.TYPE_SCROLL_SENSITIVE, 
    ResultSet.CONCUR_UPDATABLE,ResultSet.HOLD_CURSORS_OVER_COMMIT);
    我试试哪个格式,更好啊,呵呵