连接数据库总是出现 java.lang.nullPointerException的错误,该怎么解决啊
用的是XP 连接sql server2000下面是代码
package com.yxq.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DB {
private String className;
private String url;
private String username;
private String password;
private Connection con;
private PreparedStatement pstm;
public DB(){
className="com.microsoft.jdbc.sqlserver.SQLServerDriver";
url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=db_luntan";
username="sa";
password="";
try{
Class.forName(className);
}catch(ClassNotFoundException e){
System.out.println("加载数据库驱动程序失败!");
e.printStackTrace();
}
}
public void getCon(){
try {
con=DriverManager.getConnection(url,username,password);
} catch (SQLException e) {
System.out.println("获取数据库连接失败!");
e.printStackTrace();
}
}
public void doPstm(String sql,Object[] params){
if(sql!=null&&!sql.equals("")){
System.out.println(sql);
getCon();
try {
pstm=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
if(params==null){
params=new Object[0];
}
for(int i=0;i<params.length;i++){
pstm.setObject(i+1,params[i]);
}
pstm.execute();
} catch (SQLException e) {
System.out.println("调用DB类中doPstm方法时出错!");
e.printStackTrace();
}
}
}
public ResultSet getRs(){
try {
return pstm.getResultSet();
} catch (SQLException e) {
System.out.println("DB类中的getRs()方法出错!");
e.printStackTrace();
return null;
}
}
public int getUpdate(){
try {
return pstm.getUpdateCount();
} catch (SQLException e) {
e.printStackTrace();
return -1;
}
}
public void closed(){
try{
if(pstm!=null)
pstm.close();
}catch(Exception e){
System.out.println("关闭pstm对象失败!");
}
try{
if(con!=null)
con.close();
}catch(Exception e){
System.out.println("关闭con对象失败!");
}
}
}
错误代码如下
java.lang.NullPointerException
com.yxq.dao.DB.doPstm(DB.java:42)
com.yxq.dao.OpDB.OpUserSingleShow(OpDB.java:345)
com.yxq.action.LogXAction.login(LogXAction.java:70)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
该怎么解决啊 谢谢各位啦先