繁体   English   中英

无法使用JXDatePicker将java.util.Date转换为java.sql.Date

[英]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.Datejava.util.Date扩展而来的,但它不会JXDatePicker起作用(您无法转换java.util.Datejava.sql.Date ,先不知道对象是伪装成java.util.Datejava.sql.Date

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM