注册 登录
编程论坛 J2EE论坛

谁来瞧瞧我这个改怎么改

cx521007 发布于 2007-12-11 22:34, 659 次点击
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)
反映是一个空指针异常可我改怎么改呢?最好能帮忙改一下谢谢了
2 回复
#2
风月_无边2007-12-12 09:34
你的url是不是寫錯了﹖﹖﹗
#3
sea72007-12-12 11:04
"jdbc:microsoft:[bold]sqlservlet[/bold]://localhost:1433;DatabaseName=luntan";

写错了
1