由于日期无法解析,我不断收到 parseException?
@Override
public OrderModel loadOrder(int orderID) {
OrderModel order = null;
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM 'Order' WHERE OrderID = " + orderID);
if (rs.next()) {
order = new OrderModel();
order.orderID = rs.getInt(1);
"order.orderDate = rs.getDate(2);"
order.customer = rs.getString(3);
order.totalCost = rs.getDouble (4);
order.totalTax = rs.getDouble(5);
}
} catch (Exception ex) {
ex.printStackTrace();
}
return order;
}
当我尝试从数据库加载此信息时,我不断收到此错误。有谁知道可能是什么原因造成的。它说我放在引号中的那行是问题所在。
引起原因:java.text.ParseException:无法解析的日期:“2005-25-06”不匹配 (\p{Nd}++)\Q-\E(\p{Nd}++)\Q-\E (\p{Nd}++)\Q \E(\p{Nd}++)\Q:\E(\p{Nd}++)\Q:\E(\p{Nd}++)\Q.\E(\p{Nd} ++)
@Override
public OrderModel loadOrder(int orderID) {
OrderModel order = null;
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM 'Order' WHERE OrderID = " + orderID);
if (rs.next()) {
order = new OrderModel();
order.orderID = rs.getInt(1);
"order.orderDate = rs.getDate(2);"
order.customer = rs.getString(3);
order.totalCost = rs.getDouble (4);
order.totalTax = rs.getDouble(5);
}
} catch (Exception ex) {
ex.printStackTrace();
}
return order;
}
I keep getting this error when ever i try to load this info from my data base. Does anybody have a idea on what might be causing this. It says the line that I put in the quotation marks is the problem.
Caused by: java.text.ParseException: Unparseable date: "2005-25-06" does not match (\p{Nd}++)\Q-\E(\p{Nd}++)\Q-\E(\p{Nd}++)\Q \E(\p{Nd}++)\Q:\E(\p{Nd}++)\Q:\E(\p{Nd}++)\Q.\E(\p{Nd}++)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在使用有严重缺陷的
java.sql.Date
类。该类多年前已被 JSR 310 中定义的现代 java.time 类取代。从类似于 SQL 标准的类型的数据库列中检索时,请使用
LocalDate
代替输入日期
。另外,请确保数据库列的数据类型正确,而不是文本类型,例如
VARCHAR
。You are using the terribly flawed
java.sql.Date
class. That class was supplanted years ago by the modern java.time classes defined in JSR 310.Use
LocalDate
instead when retrieving from a database column of a type akin to the SQL-standard typeDATE
.Also, be sure the database column is of the correct data type rather than a textual type such as
VARCHAR
.