当前位置: 技术问答>java相关
我的jdbc Bean还是不能正常使用!
来源: 互联网 发布时间:2015-09-04
本文导语: 源代码如下: package hero; import java.sql.*; public class jdbcBean{ private String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; private String connStr="jdbc:microsoft:sqlserver://192.168.1.11:1433;DatabaseName=hero"; private Connection conn=...
源代码如下:
package hero;
import java.sql.*;
public class jdbcBean{
private String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String connStr="jdbc:microsoft:sqlserver://192.168.1.11:1433;DatabaseName=hero";
private Connection conn=null;
private Statement stmt=null;
private String username="jsp";
private String password="aaa";
private ResultSet rs=null;
public void 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);
}
catch(SQLException ex){
System.err.println("SQLRun:"+ex.getMessage());
}
return rs;
}
public void close(){
try{
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
}
catch(SQLException ex){
}
}
}
引用文件如下:
JavaBeans
编译后的class放在正确的位置(因为我写了个测试bean可以正常用)。
错误提示是:NullPointerException,我试了很久,就是不行,而写的jsp文件里用相同的方法直接建立连接可以检索出数据来。请指点一下,我没招了
package hero;
import java.sql.*;
public class jdbcBean{
private String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String connStr="jdbc:microsoft:sqlserver://192.168.1.11:1433;DatabaseName=hero";
private Connection conn=null;
private Statement stmt=null;
private String username="jsp";
private String password="aaa";
private ResultSet rs=null;
public void 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);
}
catch(SQLException ex){
System.err.println("SQLRun:"+ex.getMessage());
}
return rs;
}
public void close(){
try{
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
}
catch(SQLException ex){
}
}
}
引用文件如下:
JavaBeans
编译后的class放在正确的位置(因为我写了个测试bean可以正常用)。
错误提示是:NullPointerException,我试了很久,就是不行,而写的jsp文件里用相同的方法直接建立连接可以检索出数据来。请指点一下,我没招了
|
JavaBeans
如果不行,你用System.out.println("aaaaaaaa") ;一步步跟踪!
|
根据你的程序片来看,一定是你的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.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 [自解压]
|
从抛出异常看,应该是取不到值,或者是null值转换时抛出异常,检查一下取值和值的转换。
|
空指针,估计连接没问题,可能是操作时据库的时候有问题
表里的数据全是字符类型吗?
表里的数据全是字符类型吗?
|
this question is very intresting and worth thinking !
please pay much more attion!
please pay much more attion!
|
空指针异常十有八九是给一个对象传递了一个空值。
动态的跟踪每一个值是比较有效的解决方法。
动态的跟踪每一个值是比较有效的解决方法。
|
试过了,改为给access连接也有错,一样的错,关注
|
你仔细看看你的构造函数在哪里???请遵循最基本的JAVA编程规范,这对每个人都有好处,包括别人阅读你的代码时.(请将类名的第一字母大写)
================================================================
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 [自解压]
================================================================
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 [自解压]