JSP中很奇怪的一个查库错误,请帮忙!(非常之急) 我用的是tomcat4.0.6,使用微软的sql server 2000JDBC驱动,我已经把它们三个文件放到tomcat/lib下了,我实在想不出来还有什么原因了. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这就是我的bean的主要出问题的代码:输出了:cccccccccccddddddddddd和sql,但往下就没输出try { System.out.println("ccccccccccccccccc"); stmt = con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, java.sql.ResultSet.CONCUR_READ_ONLY); System.out.println("ddddddddddddddddd"); System.out.println("sql: " + sql); //这以上都正常输出,下面那句就不 //输出,但不抛异常.最奇怪的是,我 //利用这个输出的sql在JB中测试,在 //SQL Server 2000中测试,都能正确 //数据结果,就JSP中不行 rs = stmt.executeQuery(sql); //到此执行停止,但不抛异常 System.out.println("rs: " + rs); } catch (SQLException e) { System.out.println("Error in DatabaeBean.execuQuery(): 查询数据发生错误: " + e.getMessage()); throw new SQLException(); } sql是不是null?stmt是不是null?rs是不是null?一步一步查吧. 是不是stmt==null?我觉得不是没有抛出异常,因为你只捕捉了SQLException 还有可能是数据库不支持stmt = con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, java.sql.ResultSet.CONCUR_READ_ONLY);这个 stmt:com.microsoft.jdbc.base.BaseStatment@4eb@43sql:select * from league where (Leagueid = 0)但再往下,就没输出,rs.next()根本就没执行到这就停了,在控制台没抛任何异常,而且奇怪的是,我在JB中利用同样的代码,就能查出结果来,我怀疑是不是我tomcat的配置不正确?但我没觉得查数据库要做什么特殊设置呀? xiaofenguser(风雨): 怎么说???如果说不支持,那我在JB中就不应该能查处结果来,是不是要在tomcat中设置什么?我在tomcat/lib下已经放了微软的三个驱动文件了,还有什么要做的吗??? 这个我不大清楚,只是提示你一下.看到里面有个下面的出错提示.Unknown Source我没遇到这种情况,我一般直接用stmt = con.createStatement(); 如果我:stmt = con.createStatement();能正常显示!!!!!奇怪了,为什么我的LSP不支持 stmt = con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);????????而在JB中就没有问题,是不是我什么设置不对?????我以前写JSP没遇到过这个问题呀! 或许是JDBC的原因吧,或许是两个用的不是同一个JDBC. 少用null,它会产生奇怪的错误,其异常提示却只得一句,要么是一大堆,总之是让人看不懂。而且在抛出nullpointerexception之后,相关语句就不会执行了,也不会有应有的异常报告。在google里搜索“NullPointerException”,即可找到这方面的讲解。 这是因为你没有判断rs是否为空造成的,在ResultSet rs = db.getResultSet(sql); 下面加这句话应该就行了if(rs.next())out.println("rs: " + rs); Alfert(Alfert): 问题不在这,因为我测试时用的是输出System.out.println("eeeeeee");然后才rs.next()的,但没输出eeeeeeeeee我现在发现,我的程序只在servlet中有这个问题,我特意做了个测试,同样的语句,都是一个查询,在servlet中就查不出结果,但只要stmt = con.createStatement();就能查出来,在其它类里就正常,没有任何错.是什么原因? 答案很明显,你用的JDBC不是同一版本的,JBuilder中的JDBC实现了con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);而tomcat中的JDBC则没有实现,建议更换JDBC. frame链接问题 hibernate的多个sessionFactory关闭连接的问题 紧急 网页已经过期 问题 MyEclipse重新部署的问题 关于JSP页面问题 JAVABENA与数据库连接问题 求助jsp访问mysql b/s结构下,用java实现读取ukey信息,有个登陆界面。登陆时提示用户插入ukey,然后读取ukey信息,再进行验证。 对一张表操作的源码 Web发布 有关#号入库的问题? jdk+tomcat安装配置问题?(急)
输出了:
ccccccccccc
ddddddddddd
和sql,但往下就没输出
try
{
System.out.println("ccccccccccccccccc");
stmt = con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,
java.sql.ResultSet.CONCUR_READ_ONLY);
System.out.println("ddddddddddddddddd");
System.out.println("sql: " + sql); //这以上都正常输出,下面那句就不
//输出,但不抛异常.最奇怪的是,我
//利用这个输出的sql在JB中测试,在
//SQL Server 2000中测试,都能正确
//数据结果,就JSP中不行
rs = stmt.executeQuery(sql); //到此执行停止,但不抛异常
System.out.println("rs: " + rs);
}
catch (SQLException e)
{
System.out.println("Error in DatabaeBean.execuQuery(): 查询数据发生错误: " + e.getMessage());
throw new SQLException();
}
stmt是不是null?
rs是不是null?
一步一步查吧.
sql:select * from league where (Leagueid = 0)但再往下,就没输出,rs.next()根本就没执行到这就停了,在控制台没抛任何异常,而且奇怪的是,我在JB中利用同样的代码,就能查出结果来,我怀疑是不是我tomcat的配置不正确?但我没觉得查数据库要做什么特殊设置呀?
怎么说???如果说不支持,那我在JB中就不应该能查处结果来,是不是要在tomcat中设置什么?我在tomcat/lib下已经放了微软的三个驱动文件了,还有什么要做的吗???
Unknown Source
我没遇到这种情况,我一般直接用stmt = con.createStatement();
stmt = con.createStatement();
能正常显示!!!!!
奇怪了,为什么我的LSP不支持
stmt = con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
????????
而在JB中就没有问题,是不是我什么设置不对?????我以前写JSP没遇到过这个问题呀!
if(rs.next())
out.println("rs: " + rs);
问题不在这,因为我测试时用的是输出System.out.println("eeeeeee");
然后才rs.next()的,但没输出eeeeeeeeee我现在发现,我的程序只在servlet中有这个问题,我特意做了个测试,同样的语句,都是一个查询,在servlet中就查不出结果,但只要
stmt = con.createStatement();
就能查出来,在其它类里就正常,没有任何错.
是什么原因?
con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
而tomcat中的JDBC则没有实现,建议更换JDBC.