select * from user可以执行,select * from user group by name不可以执行。为什么?有什么好的办法?

解决方案 »

  1.   

    这个好象不是vb的原因,你要用group by 就应该这样写select name,password from user group by name,password
    因为你前面查询使用的是*就是要全部查询,后面要用group by就必须在select 中把要查询的字段写清楚.不知道这样说明白了没有.
      

  2.   

    1、不带聚合函数要将select * from user group by name
    改成:select * from user order by name
    2、如带聚合函数,如
    select userID,count(*) from user group by userID
      

  3.   

    呵呵,看到这种sql问题,回答的人一下就多了哈.
      

  4.   

    不好意思,我可能没有表述清楚。上面的例子是我随便写的,所以不太正确。我碰到问题的语句是这个样子select dept from users group by dept,在SQLPLUS中测试是没有问题,但是通过vb中ADODB.RECORDSET.OPEN方法就是不能执行,返回的错误是operation is not allowed when the object is closed,如果我把语句改成select dept from users则没有问题。同样的问题也包括select count(*) from users也是这个样子,很困惑啊
      

  5.   

    在准备执行SQL的时候先检测一下数据源是否已经关闭,如果关闭了,就需要重新连接、、、
      

  6.   

    数据源肯定没有关闭,因为我使用SELECT DEPT FROM USERS可以通过的。还有就是我把数据库的打开方式从adopenkeyset换成adOpenDynamic,可以通过,不过recordset.count变成了-1,不知道怎么回事,望各位大虾帮忙啊。