kk3239226441 2017-05-04 14:46 采纳率: 0%
浏览 3109

请问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条回答 默认 最新

  • Ply to windward 2017-05-04 15:00
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题