ResultSet res=stm.executeQuery("select SUM(nums)  from question where parentId=5 ");
res=stm.executeQuery("select DISTINCT name from question  ");
出错

解决方案 »

  1.   

    错误信息 ------------------------------------------------------
               我们还年轻牛奶会有的奶牛也会有的 
                 可天天在 csdn 混这些会有吗 ??
      

  2.   

    错误信息 如下 1。sql:select DISTINCT name from question  
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]不能以
    DISTINCT 方式选择 text、ntext 或 image 数据类型。
    2。sql:select SUM(nums)  from question where parentId=5
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]列
    'question.id' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句只要
    Statement stm=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    就报错 
    如果取消滚动和更新
    Statement stm=con.createStatement();
    就什么问题都没有,奇怪使用jdbc2.0的东西sql语法也不一样?
      

  3.   

    是不是你的驱动没有实现JDBC2.0德规范?
      

  4.   

    可能是这两SQL语名是不可更新呀。我没有试,我去试试
      

  5.   

    是不是你的驱动没有实现JDBC2.0德规范?驱动是微软下载的jdbc。这两句sql我觉得没有问题,因为不设置滚动和更新这jdbc2.0的属性,就没有问题。设置了就出现,而且驱动支持2.0没有问题的,设置了就可以updateString()等等2.0的东西!真奇怪呀!SUM() 非要group by 吗?
      

  6.   

    但是不设置滚动+更新都可以呀,不存在非要group by的问题!select DISTINCT name from question  也出错呀!!!
      

  7.   

    昨天发现 select MAX(id) from question 也出错了 为什么呢???
      

  8.   

    你用了Distinct,也就是遇到相同的部分不重复选出,那么如果遇到两个记录的name相同,你要做更新,你希望改动的是哪个记录?
    Sum的结果就一个,需要Group by吗?!
      

  9.   

    Sum的结果就一个,需要Group by吗?! 可是报错,就是说要group by呀!
    《!--
    你用了Distinct,也就是遇到相同的部分不重复选出,那么如果遇到两个记录的name相同,你要做更新,你希望改动的是哪个记录?
    !--》
    谢谢!chenr21c(飞榕)这句话似乎让我找到了毛病的根源,主要错误都该是在可更新的结果集上,不知道我的想法对不对。
    SUM,MAX 的不对又是为什么呢?