GD ^FLY^ 2019-09-28 21:46 采纳率: 0%
浏览 541

错误指出while(res.next()){这一行空指针异常,请问原因出在哪

public class sqlproject {
private static Connection con = null;
private static ResultSet res = null;
public static void getLink(){
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/first?serverTimezone=UTC","root","123");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void getResult(){
try {
Statement sta = con.createStatement();
res = sta.executeQuery("select *from first;");
if(res!=null){
System.out.println("keyi1");
}else System.out.println("nmo");
} catch (SQLException e) {
e.printStackTrace();
}

}
public static List  backResult()  {
    List<sqlgather> list = new ArrayList<>();
    try{
    while(res.next()){
        String name = res.getString("name");
        int id = res.getInt("id");
        String sex = res.getString("sex");
        int age = res.getInt("age");
        list.add(new sqlgather(name,id,sex,age));
    }
}catch(SQLException e){
        e.printStackTrace();
    } return list;
}

}

  • 写回答

2条回答 默认 最新

  • 毕小宝 博客专家认证 2019-09-29 09:54
    关注

    你的 main 方法是怎么写的,从代码逻辑来看,调用顺序应该是:

    getLink();
    getResult();
    backResult()
    

    而且 backResult() 应该优化一下,res.next 之前先判断一下 res !=null 。

    评论

报告相同问题?

悬赏问题

  • ¥100 复现论文:matlab仿真代码编写
  • ¥15 esp32驱动GC9A01循环播放视频
  • ¥15 惠普360g9的最新bios
  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
  • ¥15 机器学习预测遇到的目标函数问题