梅晃诚 2019-08-21 16:29 采纳率: 0%
浏览 1087

Java.lang.NullPointerException 在IDE中不会报错,命令行中就会报错,何解?

因为我用console输入密码,因此 必须在命令行中运行,在用到dao的时候出现了以上情况。
图片说明
附上Userdao.login的代码

package dao;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import domain.Course;
import domain.Stu;
import domain.Teacher;
import util.JDBC;

public class Userdao {
    Connection conn=JDBC.getConnection();
    public boolean login(Stu stu) throws SQLException {
        // TODO 核对登陆信息,返回结果
        String id=stu.getid();
        String pass=stu.getpass();
        Statement sta=conn.createStatement();//这是第24行
        ResultSet rs=sta.executeQuery("select * from stu");
        while(rs.next()) {
            if(id.equalsIgnoreCase(rs.getString("ID"))) {
                if(pass.equalsIgnoreCase(rs.getString("pass"))) {
                    rs.close();
                    sta.close();
                    return true;
                }
            }
        }
        rs.close();
        sta.close();
        return false;
    }

之后我在第二十四行前插入了一段代码判断conn是否为null,并重新在命令行
预编译,并运行,结果报错信息仍然在第24行。就像没有更改一样。
删除原编译的文件在编译运行也没有用。
请问是什么原因?Testwin调用的文件都需要在命令行编译吗?

  • 写回答

3条回答

  • dabocaiqq 2019-08-21 16:52
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 MATLAB动图问题
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名