0

如果我改变

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

ps.setDate(3, ((JTextField)txtDateRecv.getDateEditor().getUiComponent()).getText());然后我在 Netbeans IDE 7.2.1 中收到一条错误消息

mySQL 数据库字段的列设置为“日期”。

有人可以帮我理解问题出在哪里吗?

谢谢您的帮助。部分代码如下;

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();
    }        
4

1 回答 1

0

解析 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())); 
于 2013-09-15T07:38:35.070 回答