我有一个数据库名称“病房数据库”,其中一个表名病人有一个数据类型为“日期”的“入场日期”列。 现在的问题是,当数据填充到它在数据库中更新的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);
}
}
警告:您的代码易受SQL注入攻击。 [请阅读此](http://bobby-tables.com)知道它们是什么以及如何预防它们。 – Barranka
此代码不是SQL。 Jframe格式的这段代码... –