【发布时间】:2014-02-04 19:06:31
【问题描述】:
我正在尝试从我的 SQL 数据库中获取 Date 数据类型。 但是我得到了这个错误
java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Date
ResultSet rs = stmt.executeQuery("select movie_id, movie_name, movie_dateBorrowed from movie_tbl where movie_borrower = '"+userUserID+"'");
if(rs.next()){
String moviename = rs.getString("movie_name");
Date moviedateborrowed = rs.getDate("movie_dateBorrowed");
if(movieDB!="0000-00-00"){
Date moviedateborrowed = rs.getDate("movie_dateBorrowed");
dates.add(moviedateborrowed);
}
else{
JOptionPane.showMessageDialog(null, "Unable.");
}
}
任何帮助都会让我开心。谢谢
PS。我使用 Netbeans 作为我的 IDE。
【问题讨论】:
-
“movie_dateBorrowed”列的列类型是什么?确定日期
-
我认为这是一个更好的匹配:stackoverflow.com/questions/13633747/… 它有不同的好答案。
-
@Arvind 是的,这是一个约会。
-
检查您的 rs.getDate("movie_dateBorrowed") 是否为“0000-00-00”。像三元运算符一样使用内联代码:检查 (getdate=="0000-00-00")?"":getdate()。但是 0000-00-00 并不是任何人都可以看到和判断的正确数据。插入此类数据时请注意使用NULL。
-
我在毕业设计中遇到过类似的问题。因此,经过大量搜索,我决定将日期存储为字符串并检索为字符串。如果您只是存储在数据库中,然后将其显示在数据库中,那么这可能会解决您的问题。如果您的问题是其他问题,请说您想查找在两个日期之间完成的预订,那么您可能会遇到小问题,但这也有解决方案。一切顺利。如果您有更多疑问,随时准备提供帮助。