2017-02-17 13 views
0

保存日期(MM/DD/YY)我使用java.sql.Connectionjava.sql.Date來這裏訪問的日期是我的代碼:無法在數據庫

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           
    if(jTextArea1.getText().equals("")) 
    JOptionPane.showMessageDialog(null, "Please Enter the Expence Description. "); 

else if(jComboBox4.getSelectedIndex()<1) 
    JOptionPane.showMessageDialog(null, "Please Select the Type."); 

else if(jDateChooser1.getDate().equals("")) 
    JOptionPane.showMessageDialog(null, "Please Enter the Date. "); 

else if(jTextField3.getText().equals("")) 
    JOptionPane.showMessageDialog(null, "Please Enter the Amount."); 

else{ 
    try{ 
    con= DriverManager.getConnection("jdbc:mysql://localhost:3306/project","root","1234"); 
    ps=con.prepareStatement("insert into work values(?,?,?,?)"); 
    ps.setString(1, jTextArea1.getText()); 
    ps.setString(2, jCom.getDate());boBox4.getSelectedItem().toString()); 
    ps.setDate(3, (Date) jDateChooser1.getDate()); 

但它給錯誤的

java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date 

燦有誰提供上述解決方案?

+1

檢查這個http://stackoverflow.com/questions/530012/how-to -convert-java-util-date-to-java-sql-date – Maddy

+0

另外,'jDateChooser1.getDate()。equals(「」)'將始終返回false,因爲日期不能等於一個字符串。 –

+0

你在一行代碼中間有一個分號:'... jCom.getDate()); boBox4 ...' –

回答

2

ps.setDate(3,(Date)jDateChooser1.getDate());

而是在上面的代碼中轉換日期,轉換UTIL日期如下SQL日期:

java.sql.Date date = new java.sql.Date(new java.util.Date().getTime()); 
1
in fact the format is used yyyy-MM-dd, just use a SimpleDateFormat to format the date value to the desired format when retriving a date value...... 

SimpleDateFormat dateFormat= new SimpleDateFormat("dd/MM/yyyy"); 
String strDate = dateFormat.format(rs.getDate("column name"));