一个关于数据库的问题.

honey_001 2004-11-30 04:08:38
sql语句如下:
sql="select MAX(EmplNO) as EmplNO from SM_OF_Employee";
rs=conn.query(sql);
if(rs.next())
{
emplNO=rs.getInt("EmplNO")+1;
}
rs.close();
系统却提示:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]列
'SM_OF_Employee.EmplNO' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 G
ROUP BY 子句。
请问是什么原因?
...全文
97 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tom2005 2004-12-01
  • 打赏
  • 举报
回复
置滚动和更新 就是这样

你可以改一下sql语句
select EmplNO1 from(select MAX(EmplNO) as EmplNO1 from SM_OF_Employee)as emp

select MAX(EmplNO) as EmplNO from SM_OF_Employee group by 0/EmpLNO
honey_001 2004-12-01
  • 打赏
  • 举报
回复
to tom2005(快乐着) :
按你的方法问题是解决了,但是对于其他的页面当使用rs.last方法的时候又出错了,能有两全其美的方法吗?
tom2005 2004-11-30
  • 打赏
  • 举报
回复
没问题
我说的你试了吗
honey_001 2004-11-30
  • 打赏
  • 举报
回复
难道说sql="select MAX(EmplNO) as EmplNO from SM_OF_Employee";有问题,我觉得这样写可以呀?
tom2005 2004-11-30
  • 打赏
  • 举报
回复
是stat = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
改为试试
stat = conn.createStatement();
wddodo 2004-11-30
  • 打赏
  • 举报
回复
查sql帮助吧。你的sql语句有问题。Max()是个聚合函数。
honey_001 2004-11-30
  • 打赏
  • 举报
回复
try和聚合函数好象没有直接的关系.
cdk 2004-11-30
  • 打赏
  • 举报
回复
加try{}
例如:
try{
sql="select MAX(EmplNO) as EmplNO from SM_OF_Employee";
rs=conn.query(sql);
if(rs.next())
{
emplNO=rs.getInt("EmplNO")+1;
}
rs.close();

}catch(SQLException e){}

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧