我在“线程”中有一个错误异常;“主要”;连接SQL Server并检查表中的用户时发生java.lang.NullPointerException
我在一个Java程序中遇到了一个问题<代码>线程“main”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) 谁能帮我找到错误?如
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()