我有一个机场项目。我有一个 gui,我想在其中搜索某些航班。在这个 gui 中,我有一个 JDateChooser(因为我想在我的数据库中找到某个航班)。在数据库中,我有一个名为 date_dep 的列,它是一种数据类型。我应该提一下,以前我必须创建航班(将有关航班的信息从 gui 输入到数据库中),当我从 JDateChooser 获得的日期输入数据库时,我没有遇到问题。现在的问题是,当我尝试搜索某个航班时,我收到了这个错误:
org.postgresql.util.PSQLException:错误:“Apr”或附近的语法错误
我想“Apr”是从 4 月开始的,因为我正在搜索 4 月 24 日的航班。所以我想我的问题出在格式上,但我尝试了很多东西,但没有任何运气。你知道它可能是什么吗?提前致谢。如果有帮助,我可以发布更多代码。
dateCh 是我的 Jdatechooser 的名称。
尝试 {
con = DriverManager.getConnection(url, user, password);
pst = con.prepareStatement("SELECT * FROM flight WHERE route_id="+routeid+ "AND date_dep="+dateCh.getDate());
rs = pst.executeQuery();
// erase everything from the list before refreshing it
flightlist.clear();
while (rs.next()) {
flightlist.addElement(rs.getInt(1) + " : Flight ID" + " | "
+ "Route ID: " + rs.getInt(2) + " | "+"Date: "+ rs.getDate(4)+ " | "+"Time: "+rs.getTime(5)+ " | "
+ "Plane ID "+rs.getInt(3)+ " | "+"Economy seats: "+rs.getInt(6)+" | "+"Business seats: "+rs.getInt(7)+" | "
+ "First class seats: "+rs.getInt(8)+"\n");
}
} catch (SQLException e) {
System.out.println("Connection failed!");
e.printStackTrace();
return;
}
修复我的代码后
pst = con.prepareStatement("SELECT * FROM flight WHERE route_id=? AND date_dep=?");
rs = pst.executeQuery();
pst.setInt(1, routeid);
pst.setDate(2, sqlDate);
我现在得到这个错误。我在网上发现 postgres 存在某种 og 错误,但我不知道如何修复它。
org.postgresql.util.PSQLException:没有为参数 1 指定值
我的错,我在设置值之前执行了查询。我现在工作。非常感谢