2015-08-18 98 views
0

我有一個數據庫名稱「病房數據庫」,其中一個表名病人有一個數據類型爲「日期」的「入場日期」列。 現在的問題是,當數據填充到它在數據庫中更新的jframe表單中時,所有其他數據類型字符串都會被填充,但是當涉及到獲取日期列的文本時,它會顯示錯誤。所以我應該使用什麼「獲取。數據類型」來獲取在jfield中輸入的日期並保存在數據庫中。 這是代碼。與netbeans jframes數據庫連接

 private void UpdateActionPerformed(java.awt.event.ActionEvent evt) {          
    newentry = new Patients(); 
    Connection conn= null; 
    PreparedStatement st =null; 
    try{ 


    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
}          
    catch (ClassNotFoundException | InstantiationException |IllegalAccessException ex) 
    { 
    Logger.getLogger(New_Patient_Entry.class.getName()).log(Level.SEVERE, null, ex); 
    } 
    try 
    { 
    conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/warddatabase","admin","admin"); 

    } 
    catch(SQLException ex){ 
    Logger.getLogger(New_Patient_Entry.class.getName()).log(Level.SEVERE, null, ex); 

}

這些是列名,有相對JTextField的。在這個日期變量顯示錯誤

newentry.patientID = pat_id.getText(); 
    newentry.name = pat_name.getText(); 
    newentry.age= pat_age.getText(); 
    newentry.unit=pat_unit.getText(); 
    newentry.sex=pat_sex.getText(); 
    newentry.diagonis=diagonisis.getText(); 
    newentry.dateOfAddmission=DOA.getDate(); 
    newentry.treatmentPlan=treat_plan.getText(); 




    String sql1 = "Insert into patients (Patient_ID,Name,Age,Unit,Sex,Diagonsis,DateOfAddmission,Treatment_Plan) values ('" +newentry.patientID+ "', '"+newentry.name+"', '"+newentry.age+"','"+newentry.unit+"','"+newentry.sex+"','"+newentry.diagonis+"','"+newentry.dateOfAddmission+"','"+newentry.treatmentPlan+"')"; 


    try { 
     st = conn.prepareStatement(sql1); 
    } 
    catch (SQLException ex) {  Logger.getLogger(New_Patient_Entry.class.getName()).log(Level.SEVERE, null, ex); 
    } 
    try { 
     st.executeUpdate(sql1); 
    } catch (SQLException ex) { 
     Logger.getLogger(New_Patient_Entry.class.getName()).log(Level.SEVERE, null, ex); 
    } 

} 
+1

警告:您的代碼易受SQL注入攻擊。 [請閱讀此](http://bobby-tables.com)知道它們是什麼以及如何預防它們。 – Barranka

+0

此代碼不是SQL。 Jframe格式的這段代碼... –

回答

2

假設你有第i列作爲數據庫中的日期。

java.util.Date date; 
Timestamp timestamp = resultSet.getTimestamp(i); 
if (timestamp != null) 
    date = new java.util.Date(timestamp.getTime())); 
+0

爲此我必須添加日期jar文件嗎? –

+0

是的,您必須將「java.util.Date」類添加到jar文件 –

+0

中,我應該使用什麼而不是「.getText」作爲日期數據類型? –