我在“线程”中有一个错误异常;“主要”;连接SQL Server并检查表中的用户时发生java.lang.NullPointerException

我在“线程”中有一个错误异常;“主要”;连接SQL Server并检查表中的用户时发生java.lang.NullPointerException,java,Java,我在一个Java程序中遇到了一个问题线程“main”java.lang.NullPointerException中的异常 Exception in thread "main" java.lang.NullPointerException at DBOperation.DBOperation.checkLogin(DBOperation.java:30) at DBOperation.DBOperation.main(DBOperation.java:82) 谁能帮我找到错误?如

我在一个Java程序中遇到了一个问题<代码>线程“main”java.lang.NullPointerException中的异常

Exception in thread "main" java.lang.NullPointerException
    at DBOperation.DBOperation.checkLogin(DBOperation.java:30)
    at DBOperation.DBOperation.main(DBOperation.java:82)
谁能帮我找到错误?如何修复它们?(请注意,代码仍然完整,我已输入一些打印报表以供检查) 我的代码:

package DBOperation;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;
public class DBOperation {
    private String url;
    private String serverName;
    private String dbName;
    private String usr;
    private String pwd;
    private Connection cnn;     
    public boolean checkLogin(String user, String pass) {
        boolean tmp = false;
        Statement stm = null;
        ResultSet rs = null;

        try {
            stm = cnn.createStatement();
            rs = stm.executeQuery("Select *from ListUser where username = '"+user+"' and password = '"+pass+"'");
            if(rs.next())
                return tmp = true;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            try {
                rs.close();
                stm.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
        return tmp;
    }

    public DBOperation() {

        this.url = "jdbc:sqlserver://";
        this.serverName = "localhost";
        this.dbName = "sharefile";
        this.usr = "sa";
        this.pwd = "123456";
    }
    @SuppressWarnings("finally")
    public Connection getMyCon()
    {
        Connection cn = null;
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            try {
                cn = DriverManager.getConnection(getMyUrl(),usr,pwd);
                if(cn!=null)
                {
                    System.out.println("Ket noi thanh cong");
                }
                else{
                    System.out.println("Ket noi khong thanh cong");
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
        return cn;
        }
    }
    private String getMyUrl() {
        // TODO Auto-generated method stub
        return url+serverName+"; databaseName="+dbName;
    }
    public static void main(String[] args) {
        DBOperation objDB = new DBOperation();
        objDB.getMyCon();
        objDB.checkLogin("teri", "123456");

    }


}

情况是,在中不设置连接的值。在方法getMyCon()中,您只设置了本地一个

例如,您可以在check login中调用getMyCon()