我的jdbc Bean还是不能正常使用! 从抛出异常看,应该是取不到值,或者是null值转换时抛出异常,检查一下取值和值的转换。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可能是下一具有问题;如果数据库中的数据有不是字符型的,就会出问题out.println(rs.getString(2)+".<br>"); jsp都会编译成servlet,你看看servlet的代码,是否可以找到是哪里出现了null <%@page contentType="text/html;charset=gb2312"%><%@page import="java.sql.*" %><html><head><title>JavaBeans</title></head><body topmargin="50"><jsp:useBean id="sqlconn" class="hero.jdbcBean"/><font size="2" COLOR="black"><%String sql="select * from t_user";ResultSet rs=sqlconn.executeQuery(sql);while(rs.next()){ out.println(rs.getString(1)+".<br>"); out.println(rs.getString(2)+".<br>");}sqlconn.close();%></font></body></html>如果不行,你用System.out.println("aaaaaaaa") ;一步步跟踪! getString(2)是没有问题的,我用的jsp直接连接也是这么写的,没问题。也就是说,下列语句运行正常:<%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <html> <head><style>td {font-size:12px; line-height: 12pt}</style></head><body topmargin=50><%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Connection conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.1.11:1433;DatabaseName=hero","jsp","aaa");Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from t_user";ResultSet rs=stmt.executeQuery(sql);while(rs.next()) {out.println(rs.getString(2));}rs.close(); stmt.close(); conn.close();%> </body> </html>所以才着急没办法的。我觉得好象是构造函数没有执行,但写的简单bean例子里构造函数是会执行的,和普通class一样。 this question is very intresting and worth thinking !please pay much more attion! to qxjavajava(射手座):不太会动态跟踪。只能out.println(sql);等。我是用notepad写,在tomcat下运行,没有IDE环境。 试过了,改为给access连接也有错,一样的错,关注 你仔细看看你的构造函数在哪里???请遵循最基本的JAVA编程规范,这对每个人都有好处,包括别人阅读你的代码时.(请将类名的第一字母大写)================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。 ★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! ★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ● 可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zipHttp://www.ChinaOK.net/csdn/csdn.rarHttp://www.ChinaOK.net/csdn/csdn.exe [自解压] 根据你的程序片来看,一定是你的Bean没有初始化,请保证你的Bean中有如下内容//构造函数 public JdbcBean() throws SQLException{ try{Class.forName(sDBDriver);conn=DriverManager.getConnection(connStr,username,password);stmt=conn.createStatement(); } catch(ClassNotFoundException e){ System.err.println("There is not JDBC driver!"); } }问题可能出在这里:public ResultSet executeQuery(String sqlStatement){ rs=null; try{ rs=stmt.executeQuery(sqlStatement);//error!!!! } catch(SQLException ex){ System.err.println("SQLRun:"+ex.getMessage()); } return rs; }stmt可能是null值.返回的rs是null,你可在while(rs.next()){前if(rs==null)判断一下================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。 ★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! ★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ● 可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zipHttp://www.ChinaOK.net/csdn/csdn.rarHttp://www.ChinaOK.net/csdn/csdn.exe [自解压] 问题解决了,就是上面的bean的构造函数的问题,有个小错误,能看出来吗?我已正确运行了,谢谢大家的关注。 页面刷新问题 一个关于memcached和H2的问题 求指点购物车的实现原理和相关疑问 jsp中替换html字符的问题,知道的麻烦说下,先谢谢了. 多个文件共享编码方式 请教为什么这个java文件加上包名后就不能编译了? excel文件在IE7中打开,IE7却没有工具栏了。 图片压缩处理问题(紧急啊,各位高手帮忙解决一下,谢谢. 在线等待) 我在bea.com下载的WebLogicServer在Solaris下安装成功,但怎么才能启动呢? 单选框value值设定问题 奇怪问题,盼高手相助!高分相送! 我的jsp在jb7下编译是出现如下错误
如果数据库中的数据有不是字符型的,就会出问题
out.println(rs.getString(2)+".<br>");
<%@page import="java.sql.*" %>
<html>
<head><title>JavaBeans</title></head>
<body topmargin="50">
<jsp:useBean id="sqlconn" class="hero.jdbcBean"/>
<font size="2" COLOR="black">
<%
String sql="select * from t_user";
ResultSet rs=sqlconn.executeQuery(sql);
while(rs.next()){
out.println(rs.getString(1)+".<br>");
out.println(rs.getString(2)+".<br>");
}
sqlconn.close();
%>
</font>
</body>
</html>如果不行,你用System.out.println("aaaaaaaa") ;一步步跟踪!
<%@ page import="java.sql.*"%>
<html>
<head>
<style>
td {font-size:12px; line-height: 12pt}
</style>
</head>
<body topmargin=50>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.1.11:1433;DatabaseName=hero","jsp","aaa");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from t_user";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
out.println(rs.getString(2));
}
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>所以才着急没办法的。我觉得好象是构造函数没有执行,但写的简单bean例子里构造函数是会执行的,和普通class一样。
please pay much more attion!
不太会动态跟踪。只能out.println(sql);等。我是用notepad写,在tomcat下运行,没有IDE环境。
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
//构造函数
public JdbcBean() throws SQLException{
try{
Class.forName(sDBDriver);
conn=DriverManager.getConnection(connStr,username,password);
stmt=conn.createStatement();
}
catch(ClassNotFoundException e){
System.err.println("There is not JDBC driver!");
}
}
问题可能出在这里:
public ResultSet executeQuery(String sqlStatement){
rs=null;
try{
rs=stmt.executeQuery(sqlStatement);//error!!!!
}
catch(SQLException ex){
System.err.println("SQLRun:"+ex.getMessage());
}
return rs;
}stmt可能是null值.返回的rs是null,你可在
while(rs.next()){前if(rs==null)判断一下
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
我已正确运行了,谢谢大家的关注。