2017-04-23 6 views
1

날짜를 jdatechooser로 날짜를 업데이트하려고하면 날짜를 데이터베이스에 저장할 수 없습니다. 데이터베이스 날짜가 2014 년 2 월 8 일 날짜를 데이터베이스 날짜로 업데이트하는 것과 같은 날짜 형식 만 표시합니다. MM/dd/yyyy? 내가 SQLite 데이터베이스를 사용하고 당신은 입력 한 날짜를 얻을 수 JDateChooser.getDate()를 호출 할 필요가자바 이클립스에서 jdatechooser로 날짜를 업데이트하는 방법

  try{ 
       String t10= comboBoxGen.getSelectedItem().toString(); 
       String JD= dateChooser.getDateFormatString(); 

       String t1= textFieldID.getText(); 
       String t2= textFieldFN.getText(); 
       String t3= textFieldLN.getText(); 
       String t4= textFieldCN.getText(); 
       String t5= textFieldAge.getText(); 
       String t6= textFieldDep.getText(); 
       String t7= textFieldMob.getText(); 
       String t8= textFieldSal.getText(); 
       String BD= dateChooser1.getDateFormatString(); 
      // String t9= textFieldBD.getText(); 
      // String t10= textFieldGen.getText(); 
       String t11= textFieldAdd.getText(); 
       String t12= textFieldPos.getText(); 
      // String t13= textFieldJD.getText(); 

       if(t1.length()>4 || t1.length()==0 || t2.length()==0 || t3.length()==0 || t4.length()==0 || t5.length()==0 || t6.length()==0 || t7.length()==0 || t8.length()==0 || BD.length()==0 || t10.length()==0 || t11.length()==0 || t12.length()==0 || JD.length()==0){ 
        JOptionPane.showMessageDialog(null, "Please fill the fields or correct filled","Error", JOptionPane.ERROR_MESSAGE); 
       } 
       else{ 
        String query3="Update Teachers set TeacherID='"+textFieldID.getText()+"', FirstName='"+textFieldFN.getText()+"', LastName='"+textFieldLN.getText()+"', CNICNO='"+textFieldCN.getText()+"', Age='"+textFieldAge.getText()+"', Salary='"+textFieldSal.getText()+"', MobileNo='"+textFieldMob.getText()+"', Gender='"+t10+"', Department='"+textFieldDep.getText()+"', Position='"+textFieldPos.getText()+"', Address='"+textFieldAdd.getText()+"', JoinDate='"+JD+"', BirthDate='"+dateChooser1.getDateFormatString()+"' where TeacherID='"+textFieldID.getText()+"' ";  
        PreparedStatement pst= connection.prepareStatement(query3); 

       int action = JOptionPane.showConfirmDialog(null, "Do you want Update this Data?","Update Confirmation",JOptionPane.YES_NO_OPTION); 
       if (action==0){ 
       pst.execute(); 
       } 
       JOptionPane.showMessageDialog(null, "Data Update"); 

       pst.close(); 

       } 
      }catch(SQLException e){ 
       e.printStackTrace(); 
      } 
     } 
    }); 
    btnUpdateData.setBounds(399, 443, 105, 23); 
    contentPane.add(btnUpdateData); 

답변

1

주노 일식입니다. 물론 이것은 java.util.Date을 반환하므로 실제로 원하는 경우 날짜를 문자열 형식으로 가져 오려면 몇 가지 추가 단계를 수행해야합니다.

java.util.Date dt = dateChooser1.getDate(); 
String BD = "" + 
    (dt.getMonth() + 1) + 
    "/" + 
    dt.getDate() + 
    "/" + 
    (1900+ dt.getYear(); 

여기 예뻐 방법 :

여기 그것을하는 하나의 방법

String BD = (new java.text.SimpleDateFormat("MM/dd/yyyy")) 
    .format(dateChooser1.getDate()); 

이 골라 봐 ...