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

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
    关注
    评论

报告相同问题?

悬赏问题

  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型