| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1534 人关注过本帖
标题:[求助]解决不了的空指针异常(已解决)
只看楼主 加入收藏
汪洋兽
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-10-7
收藏
 问题点数:0 回复次数:4 
[求助]解决不了的空指针异常(已解决)

我编了一个数据库的bean文件,但运行时却出现空指针异常,望大家指教!代码如下:

propDB.properties文件:
DB_ClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver
DB-URL=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Demo
DB_User=sa
DB_Password=198699

数据库bean文件:(ConnDb.java)

package MyPackage;

import java.sql.*;
import java.io.*;
import java.util.*;

public class ConnDb {
private Connection conn=null;
private Statement stmt=null;
private ResultSet rs=null;

private String propFileName="F:\\EclipseMyEclipse\\BeanDatabase\\src\\propDB.properties";
private Properties prop=new Properties();
private String dbClassName=null;
private String dbUrl=null;
private String dbUser=null;
private String dbPwd=null;

public void loadProperty(){
try{
prop.load(new FileInputStream(propFileName));
dbClassName=prop.getProperty("DB_ClassName");
dbUrl=prop.getProperty("DB-URL");
dbUser=prop.getProperty("DB-User");
dbPwd=prop.getProperty("DB-Password");

}catch (Exception e){
System.out.println(e.toString());
}
}

public Connection getConnection(){
loadProperty();

try{
Class.forName(dbClassName).newInstance();
conn=DriverManager.getConnection(dbUrl,dbUser,dbPwd);

if (conn==null){
System.out.println("数据库由于某种原因没有连接上!");
}

}catch (Exception e1){
System.out.print(e1.toString());
}

return conn;

}

public ResultSet executeQuery(String sql){
try{
conn=getConnection();
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

rs=stmt.executeQuery(sql);
}catch (Exception e2){
System.out.print(e2.toString());
}

return rs;
}

public int executeUpdate(String sql){
int result=0;

try{
conn=getConnection();
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

result=stmt.executeUpdate(sql);
}catch (Exception e3){
result=0;
}

try{

}catch (Exception e4){
System.out.print(e4.toString());
}

return result;
}

public void close(){
try{
if (rs!=null){
rs.close();
}
}catch (Exception er){
System.out.print(er.toString());
}

try{
if (stmt!=null){
stmt.close();
}
}catch (Exception es){
System.out.print(es.toString());
}

try{
if (conn!=null){
conn.close();
}
}catch (Exception ec){
System.out.print(ec.toString());
}
}
}

运行时的JSP文件:(DbDemo.jsp)
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'DbDemo.jsp' starting page</title>
</head>

<body>
<jsp:useBean id="db" class="MyPackage.ConnDb" scope="request"/>
<%
ResultSet rs=null;
try{
rs=db.executeQuery("select * from Student");
out.print("<table border=1>");
while (rs.next()){
out.print("<tr><td>"+rs.getString(1)+"</td></tr>");
out.print("<tr><td>"+rs.getString(2)+"</td></tr>");
out.print("<tr><td>"+rs.getInt(3)+"</td></tr>");
out.print("<tr><td>"+rs.getInt(4)+"</td></tr>");
}
out.print("</table>");
rs.close();
}catch (Exception e){
out.print(e.toString());
}
%>
</body>
</html>

希望能指教一下小弟,感激万分!
注:我已经用最原始的方法测试过DbDemo.jsp文件中的记录集rs一直为空,但我不知道为什么,请指点,谢谢~

[此贴子已经被作者于2007-9-30 0:54:18编辑过]

搜索更多相关主题的帖子: 指针 
2007-09-29 01:20
Gramary
Rank: 4
等 级:贵宾
威 望:13
帖 子:769
专家分:0
注 册:2007-7-9
收藏
得分:0 
一把错误信息详细输出一下
你这个问题应该是数据连接不上``才会出现空指针异常`
如果是没查询到数据 rs.next()只会返回FALSE,所以你仔细去看一下你连接数据库哪里漏了
单从你这段代码里看,一下看不出什么名堂`~

学编程不能急,要慢慢来。
2007-09-29 08:44
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
空指针异常是所有异常中最好解决的,无非就是你使用了没有初始化的对象。然后确认你没有初始化的对象是哪个,就可以解决了

可惜不是你,陪我到最后
2007-09-29 11:18
汪洋兽
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-10-7
收藏
得分:0 
java.lang.ClassNotFoundException:

com.microsoft.jdbc.sqlserver.SQLServerDriverjava.lang.NullPointerExceptionjava.lang.

具体报错如下,请指教!
2007-09-29 11:54
zplove
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:783
专家分:0
注 册:2006-7-30
收藏
得分:0 
这个错误就是你的数据库没有那个字段

相信自己的没错了
2007-09-29 18:36
快速回复:[求助]解决不了的空指针异常(已解决)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024800 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved