簡體   English   中英

無法在Java中的prepareStatement中設置setDate

[英]Unable to setDate in prepareStatement in Java

如果我改變

ps.setString(3, ((JTextField)txtDateRecv.getDateEditor().getUiComponent()).getText());

ps.setDate(3, ((JTextField)txtDateRecv.getDateEditor().getUiComponent()).getText()); 然后我收到在Netbeans IDE 7.2.1中顯示的錯誤消息

mySQL數據庫字段的列設置為“ DATE”。

有人可以幫助我了解問題出在哪里嗎?

謝謝您的幫助。 部分代碼如下;

private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        try{
            String sql="insert into inventory(DNO,TITLE,RDATE,COPIES) values(?,?,?,?)";
            ps=con.prepareStatement(sql);
            ps.setString(1, txtDvdNo.getText());
            ps.setString(2, txtMovTitle.getText());
            ps.setString(3, ((JTextField)txtDateRecv.getDateEditor().getUiComponent()).getText());
            ps.setString(4, txtCopies.getText());
            ps.execute();
            JOptionPane.showMessageDialog(txtCopies, "New Record added");
        }
        catch(SQLException e){
            JOptionPane.showMessageDialog(Inventory.this, e.getMessage());
        }
        showInventoryTable();
    }        

在JTextField中解析日期的文本表示形式

   java.util.Date date = new SimpleDateFormat(your_date_format).parse(((JTextField)txtDateRecv.getDateEditor().getUiComponent()).getText());

然后創建一個java.sql.Date並將其設置為PreparedStatement

   ps.setDate(3, new java.sql.Date(date.getTime())); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM