2015-01-05 3 views
0

다음 코드로 데이터베이스 테이블을 업데이트하려면 다음 코드를 사용하고 있습니다. 데이터베이스 연결이 설정되고 예외가 표시되지 않지만 데이터베이스 테이블이 업데이트되지 않습니다.vaadin의 데이터베이스 테이블 업데이트

private void setupSaveButton(){ 
saveButton.addClickListener(new Button.ClickListener() {    

@Override 
public void buttonClick(ClickEvent event) { 

    try {      
    String updateQuery = "UPDATE " + MySqlConnectionManager.getDatabaseTableName() 
    + " SET BUGID='" + bugIdTextField.getValue()         
    + "', USERID='" + userIdTextField.getValue() 
    + "', SUBJECT='" + subjectTextField.getValue()         
    + "', COMMENT='" + commentTextArea.getValue() 
    + "', STATUS='" + statusComboBox.getValue() 
    + "', OWNER='" +ownerTextField.getValue() 
    + "', PRIORITY='" + priorityComboBox.getValue()         
    + "' WHERE DATE='"+dateTextField.getValue()+"'; "; 


     Connection connection = MySqlConnectionManager.getInstance().getConnection(); 
     if(connection!=null){ 
     Statement stmt = connection.createStatement(); 
     System.out.println("Query " + updateQuery); 
     stmt.executeUpdate(updateQuery); 
     }    
    } catch (SQLException ex) { 
     Logger.getLogger(BugDetailDisplay.class.getName()).log(Level.SEVERE, null, ex); 
    } 
    } 

}); 

답변

2

난 당신이 날짜 DateField 사용하는 것 같아요. 당신의 dateTextField.getValue()이 두 형식이 다른 당신의 쿼리가 성공적으로 실행하지만으로 열을 감지 할 수 Date 객체와 DatetoString 표현이 query.So에 연결된됩니다 기본을 반환하면서 MySQL을

기본 날짜 형식은 YYYY-MM-DD입니다 날짜는 dateTextField입니다. SimpleDateFormat을 사용하면 일치하는 행을 찾기 위해 dateTextField.getValue()의 결과 형식을 지정할 수 있습니다.


당신이 당신의 날짜 형식은 MySQL의 날짜와 일치해야합니다 있는지 확인 textField보다 간단한 사용하는 경우.

관련 문제