JSP获取日期填写java.sql.Date填写数据库报错,如何修改Cannot format given Object as a Date 需要把任意一个日期比如:2023-05-14,插入到数据库该怎么解决
时间: 2024-02-03 09:12:52 浏览: 109
你可以使用 SimpleDateFormat 类将字符串转换为 java.util.Date,然后再将其转换为 java.sql.Date,示例代码如下:
```java
String dateString = "2023-05-14";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date date = dateFormat.parse(dateString);
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
```
然后你可以将 `sqlDate` 插入到数据库中。如果仍然出现 Cannot format given Object as a Date 错误,可能是因为插入时使用了错误的日期格式。请确保在插入时使用正确的日期格式。
相关问题
JSP获取日期填写java.sql.Date填写数据库报错,如何修改Cannot format given Object as a Date
这个问题可能是由于您在将java.sql.Date对象填充到数据库时,将其格式化为日期字符串,而这是不允许的。因为java.sql.Date是一个日期对象,而不是一个字符串。
为了解决这个问题,您可以直接将java.sql.Date对象插入到数据库中,而不是将其转换为字符串。您可以使用PreparedStatement设置参数来实现这一点,例如:
```java
java.sql.Date date = new java.sql.Date(new java.util.Date().getTime());
PreparedStatement ps = connection.prepareStatement("INSERT INTO my_table (date_column) VALUES (?)");
ps.setDate(1, date);
ps.executeUpdate();
```
这将直接将java.sql.Date对象插入到数据库中,并且不会出现“Cannot format given Object as a Date”的错误。
阅读全文