谁来瞧瞧我这个改怎么改
package com.login;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class LoginJDBC{
private Connection conn;//连接对象
private Statement st;//操作对象
private ResultSet rt;//记录集对象
final String forname="com.microsoft.jdbc.sqlserver.SQLServerDriver";
final String url="jdbc:microsoft:sqlservlet://localhost:1433;DatabaseName=luntan";
final String user="sa";
final String pwd="sa";
boolean sum;
public LoginJDBC(){//构造函数
sum=false;
try{
Class.forName(forname);
}catch(Exception e){
e.printStackTrace();
System.out.println("加载数据库失败");
}
}
public Connection getConnection1(){//获取连接对象
setConnection();
return conn;
}
public void setConnection(){//设置连接对象
try{
conn=DriverManager.getConnection(url,user,pwd);
}catch(SQLException e){
e.printStackTrace();
System.out.println("连接数据库失败");
}
}
public Statement getStatement1(){//获取操作对象
setStatement(this.conn);
return st;
}
public void setStatement(Connection con){//设置操作对象
try{
st=con.createStatement();
}catch(SQLException e){
e.printStackTrace();
System.out.println("获取操作对象失败");
}
}
public void setExecuteQuery(String sql)throws SQLException{
try{
rt=st.executeQuery(sql);
}catch(Exception e){
e.printStackTrace();
}
}
public boolean getCount(){
try{
rt.next();
int count=rt.getInt(1);
if(count>0){
sum=true;
}
}catch(Exception e){
e.printStackTrace();
}
return sum;
}
public void CloseConnection(Connection conn){//关闭数据库连接
try{
if(conn!=null){
conn.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
public void CloseStatement(Statement st){//关闭数据库操作
try{
if(st!=null){
st.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
错误代码
java.lang.NullPointerException
at com.login.LoginJDBC.setStatement(LoginJDBC.java:44)
at com.login.LoginJDBC.getStatement1(LoginJDBC.java:39)
反映是一个空指针异常可我改怎么改呢?最好能帮忙改一下谢谢了