JSP在数据库中取数据的问题

大佬们帮我看看121行代码,说是空结果集。我想把数据库表中time的数据拿出来存起来然后与系统时间进行比较(time数据类型已经改成char)。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.ArrayList" %>
<%@page import="com.plane.*" %>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date" %>

国内/国际机票

航班动态


<% request.setCharacterEncoding("UTF-8"); String pno=request.getParameter("pno"); String url = "jdbc:mysql://localhost:3306/scms?"+ "useSSL=false&serverTimezone=CST&characterEncoding=utf-8"; //连接串 String user="root"; String password="2001511ty"; Class.forName("com.mysql.cj.jdbc.Driver"); //加载驱动 Connection conn=DriverManager.getConnection(url,user,password); //创建与数据库的连接 Statement stmt=conn.createStatement(); //执行sql语句 String sql="SELECT * FROM plane WHERE pno='"+pno+"'"; ResultSet rs=stmt.executeQuery(sql); /*SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式 Date date = new Date(); String string = df.format(date); Date Time1 = df.parse(string); Date Time2=df.parse(rs.getString("time")); int i = Time1.compareTo(Time2); String a; if(i<0){ a="pass"; } else{ a="wait"; }*/ java.util.Date date = new java.util.Date(); java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String currentdata = dateFormat.format(date); java.util.Date currenttime = dateFormat.parse(currentdata); String time2=rs.getString("time"); java.util.Date time = dateFormat.parse("time2"); String status; if(currenttime.before(time)){ status="未起飞"; } else{ status="已起飞"; } while(rs.next()) { %> <%}

%>

航班号起飞城市到达城市起飞时间舱位类型航班动态
<%=rs.getString("pno")%><%=rs.getString("city")%><%=rs.getString("city2")%><%=rs.getString("time")%><%=rs.getString("leixing")%><%=status%>

截下图,这个文本文件不是很好看

大佬们帮我看看121行代码,说是空结果集。我想把数据库表中time的数据拿出来存起来然后与系统时间进行比较(time数据类型已经改成char)。
img

img

img

img

img

img

rs返回为空的问题,也就是数据库中没有数据
String time2 = rs.getString("time");中的rs为空就会报异常
正确的写法

if(rs != null && !rs.isEmpty()){
    String time2 = rs.getString("time");  
}

应该是没查到数据,你复制一下sql加上条件去可视化工具,看看sql语法哪里有问题没有,再检查一下是不是你传入的字段本来查出来就没有数据

img
移到while里面

你在121前面执行一下rs.next();试试