Rst=Stmt.executeQuery("select year(max(datetime)) as year1 ,month(max(datetime)) as month1,day(max(datetime)) as day1,year(min(datetime)) as year2 ,month(min(datetime)) as month2,day(min(datetime)) as day2 from by2a where station_name='"+station_name+"'");
Rst.next();提示
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]列 'by2a.id' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。我也没用id啊,是不是我驱动的问题,我只是安装了ms的jdbc for sqlserver2000,没设环境变量什么的

解决方案 »

  1.   

    你有jdbc的驱动吗?
    没有就得要安装一下的
      

  2.   

    装了啊,就是从微软下了一个,装了,但是没有设环境变量,还用设吗?并且一些简单的sql可以执行,可是我上面说的就不行,奇怪啊
      

  3.   

    Rst=Stmt.executeQuery("select year(max(datetime)) as year1 ,month(max(datetime)) as month1,day(max(datetime)) as day1,year(min(datetime)) as year2 ,month(min(datetime)) as month2,day(min(datetime)) as day2,station_name from by2a where station_name='"+station_name+"' group by station_name");
      

  4.   

    你的 sql 语句的问题。
      

  5.   

    楼上老兄,奇怪啊,你的就可以在jdbc里运行,可是我写的在odbc-jdbc里运行没有问题啊,难道sql和驱动还有关?难道真的是sql语句的问题????另外我写的这个网站都写了将近200个jsp文件了,要改起来不累死啊?
      

  6.   

    odbc 和 jdbc 是由一些不同的,你用max,min的时候应该加上group by。