在线!!!高分!!!一个不能再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);不知道是何原因,请各位指教,谢谢
...全文
118 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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试一下

字段名不要加上表名
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-01 09:23
社区公告
暂无公告