在线!!!高分!!!一个不能再bean中执行的SQl语句!!!

chaoren 2004-09-01 09:23:44
我用jboss+tomcat开发,数据库用的SQL2000,有这样一个SQL语句,在SQL2000的查询分析其中能够正常执行.并且查询到了数据,但在程序里面始终不能取到数据,我是将程序中打出的SQl语句到查询分析器中去执行的,所以SQL语句肯定一样,SQL语句如下:SELECT VT1.* FROM ( ( SELECT @@ROWCOUNT VR, VT.* from ( select * from CLGL_ABSENCE ) VT ) ) VT1 WHERE (VR > 0) AND (VR < 21);不知道是何原因,请各位指教,谢谢
...全文
149 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
alaal 2004-09-01
  • 打赏
  • 举报
回复
如果问题解决了请把解决办法贴出来
chaoren 2004-09-01
  • 打赏
  • 举报
回复
我现在发觉是SQL语句中@@ROWCOUNT的问题
chaoren 2004-09-01
  • 打赏
  • 举报
回复
我的sql语句中的表名是传进去的,针对不同的表名有不同的字段,也就是很难写出字段名
lanse89 2004-09-01
  • 打赏
  • 举报
回复
换种方法试,在 sql语句中的变量全加上 as value1 ,.... as value2 ....
然后取的时间再
System.out.println(rs1.getString("value1"));
试一下怎样?

chaoren 2004-09-01
  • 打赏
  • 举报
回复
我试了,111111111111111都没有打出来,所以循环没有执行,但是其他的SQL语句又可以执行,也就是同样的statement,就这个SQL语句没有结果集,但在查询分析器中又有结果集,怎么解决呀?
alaal 2004-09-01
  • 打赏
  • 举报
回复
你怎么知道循环没有执行?

while(rs1.next())
{
System.out.println("11111111111111111");
System.out.println(rs1.getString(3));
}
如果没有执行,只能说明是你的statement有问题了,没有得到结果集
chaoren 2004-09-01
  • 打赏
  • 举报
回复
楼上的,好像也不得行
我代码是这样的
ResultSet rs1 = Dba.ExecQuery("SELECT VT1.* FROM ( ( SELECT @@ROWCOUNT VR, VT.* from ( select * from CLGL_ABSENCE ) VT ) ) VT1 WHERE (VR > 0) AND (VR < 21)");
while(rs1.next())
{
System.out.println(rs1.getString(3));
}
while循环都没有执行,但是在查询分析器中能取到数据
alaal 2004-09-01
  • 打赏
  • 举报
回复
rs.getString("字段名");字段名不要加上表名,不行的话用getString(0),getString(1)来取值
chaoren 2004-09-01
  • 打赏
  • 举报
回复
1楼的,结果集没有取到值,大家有没有好的办法,我急,程序很多,贴出来很麻烦
boykent 2004-09-01
  • 打赏
  • 举报
回复
up
killwin 2004-09-01
  • 打赏
  • 举报
回复
把程序粘出来看看。
alaal 2004-09-01
  • 打赏
  • 举报
回复
如果你的SQL语句中有TAB键,都干掉,可能影响查询结果
zhaoqiubo 2004-09-01
  • 打赏
  • 举报
回复
用的什么statement?
alaal 2004-09-01
  • 打赏
  • 举报
回复
我以前也遇到过这样的问题~~SQL语句是没有问题的~~这一点可以肯定~~

问题一定出在取结果集上`~~看看哪里写错了~~估计应该是在rs.getString("字段名");上出错

你换成index试一下

字段名不要加上表名

81,122

社区成员

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

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