sql=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);用Access时候可以连接 这条语句也 能执行 怎么一到SQL server 2005 就不行了 求真相

解决方案 »

  1.   

    没有报错 sql=con.createStatement()直接这样写就能执行了 为什么填上面的参数就不行了啊
      

  2.   

    结果集ResultSet 也分为几种,默认的sql=con.createStatement()是默认的游标不敏感,游标只能向前走不能向后,而且不能在结果集更新数据的那种
    而你上面提问的sql=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    创建的Statement类型是 游标敏感,结果集可更新的最关键的是不是所有的数据库都支持各种不同类型的结果集,默认的类型绝大部分数据库都支持,但是结果集可更新的以及游标可向后移动的未必,我想可能是SQLSERVER不支持,没怎么用过你认真阅读这两篇博客就清楚了 http://lavasoft.blog.51cto.com/62575/240385 http://sharryjava.iteye.com/blog/326288
      

  3.   

    我好像明白了 createStatement()两个参数应该都要相互匹配才行1 con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.TYPE_CONCUR_READ_ONLY)参数1是产生可以滚动的结果集,但数据库变化时结果集不变 所以于之匹配的参数应该是 不能用结果集更新数据库的参数2con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.TYPE_CONCUR_UPDATABLE)参数1是产生可以滚动的的结果集 ,且数据库变化时 结果集同步更新,所以与之匹配的第2个参数应该是 可以同结果集更新数据库德参数