[英]cannot convert java.util.Date to java.sql.Date with JXDatePicker
我在这里使用JXDatepicker。 我不知道该怎么办,请帮助我。 我尝试了很多但是失败了。
我试图打印导致此错误的原因,并显示此消息。 我希望格式为yyyy / MM / dd,因为我希望将其插入数据库。
AddProductGUI.java
txtExpiration = new JXDatePicker(); txtExpiration.setName("Expiration");
txtExpiration.setBorder(null);
txtExpiration.setFormats(new SimpleDateFormat("yyyy.MM.dd"));
AddProduct.java
public java.util.Date returnDate(JXDatePicker txtExpiration, Boolean isExpiring) {
if (isExpiring) {
return txtExpiration.getDate();
} else {
return null;
}
}
ActionToDatabase.java
if (!DatabaseValidator
.isExistingData(
"select ProductID from tblIndividualProduct where ProductID =?",
product.getProductID())) {
sql = "insert into tblIndividualProduct (ProductId,Code,Expiration,Note,UpdatedPrice,PriceChanged) Values(?,?,?,?,?,?)";
connection
.setPreparedStatement((PreparedStatement) connection
.getConnection().prepareStatement(sql));
connection.getPreparedStatement().setString(1,
product.getProductID());
connection.getPreparedStatement().setString(2,
product.getCode());
//connection.getPreparedStatement().setDate(3, new java.sql.Date(product.getExpiration().getTime()));
**connection.getPreparedStatement().setDate(3, (java.sql.Date)product.getExpiration());**
connection.getPreparedStatement().setString(4,
product.getNote());
connection.getPreparedStatement().setDouble(5,
product.getPrice());
connection.getPreparedStatement().setBoolean(6,
product.getPriceChanged());
connection.getPreparedStatement().executeUpdate();
System.out
.println("Successfully added individual product ("
+ product.getProductID()
+ ") to the database");
例如,使用java.util.Date
作为基值创建java.sql.Date
的新实例。
connection.getPreparedStatement().setDate(3,
(product.getExpiration() == null ?
null :
new java.sql.Date(product.getExpiration().getTime())));
可以将java.sql.Date
传递给JXDatePicker
因为java.sql.Date
从java.util.Date
扩展而来的,但它不会JXDatePicker
起作用(您无法转换java.util.Date
到java.sql.Date
,先不知道对象是伪装成java.util.Date
的java.sql.Date
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.