请问java.lang.NullPointerException的错误怎么解决?

一开始eclipse连接sql server 2008数据库是对的,代码如下,然后在此基础上修改就出错了。
import java.sql.*;
public class Main {
public static void main(String [] args)
{
String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=Student";//Student填数据库的名字
String userName="sa";
String userPwd="123";
try
{
Class.forName(driverName);
System.out.println("加载驱动成功!");
}catch(Exception e){
e.printStackTrace();
System.out.println("加载驱动失败!");
}
try{
Connection dbConn=DriverManager.getConnection
(dbURL,userName,userPwd);
System.out.println("连接数据库成功!");
}catch(Exception e)
{
e.printStackTrace();
System.out.print("SQL Server连接失败!");
}

}
}

修改后的代码是
import java.sql.*;
public class Main {
static Statement sql;
static ResultSet res;
static Connection con;
public Connection getConnection(){
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("加载驱动成功!");
}catch(Exception e){
e.printStackTrace();
System.out.println("加载驱动失败!");
}
try{
con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=Class","sa","123");
System.out.println("连接数据库成功!");
}catch(Exception e)
{
e.printStackTrace();
System.out.print("SQL Server连接失败!");
}

return con;
}
public static void main(String [] args)
{
Main m=new Main();
try{

sql=con.createStatement();
res=sql.executeQuery("select * from B班");
while(res.next()){
String id=res.getString("Id");
String name=res.getString("Name");
int grade=res.getInt("Grade");
System.out.print("编号"+id);
System.out.print("姓名"+name);
System.out.print("成绩"+grade);
}}catch(Exception e){
e.printStackTrace();
}
}
}
系统提示出错:
java.lang.NullPointerException
at Main.main(Main.java:29)

3个回答

debug。。。。。。。。

qq_34309305
75闪光雷 我错 你竟然会日语
3 年多之前 回复
kk3239226441
kk3239226441 不是太会,残念
3 年多之前 回复

链接con未没有调用getConnection()实例化,
public static void main(String [] args)
{
Main m=new Main();
try{
con = m.getConnection();
sql=con.createStatement();

kk3239226441
kk3239226441 666,谢谢大大
3 年多之前 回复

con = m.getConnection();

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问