【问题标题】:Database linking with netbeans jframes与netbeans jframes的数据库链接
【发布时间】:2015-08-18 19:17:52
【问题描述】:

我有一个数据库名称“病房数据库”,其中一个表名患者有一个列“入院日期”,其数据类型为“日期”。 现在的问题是,当数据填充到 jframe 表单中时,它会在该数据库中更新,所有其他数据类型为字符串,但是在获取日期列的文本时会显示错误。那么我应该使用什么“Get.datatype”来获取在 jfield 中输入的日期并保存在数据库中。 这是代码。

     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);

}

这些是列名和相关的 jtextfields。在此日期变量显示错误

    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 注入攻击。 Please read this 了解它们是什么以及如何防止它们。
  • 这段代码不是 SQL。 Jframe表单的这段代码...

标签: java mysql netbeans


【解决方案1】:

假设您在数据库中有第 i 列作为日期。

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

【讨论】:

  • 为此我还必须添加日期 jar 文件?
  • 是的,你必须在jar文件中添加“java.util.Date”类
  • 我应该使用什么来代替“.getText”作为日期数据类型?
  • 如果你在 Eclipse 中编写,它会相应地显示所需的类
  • 看代码,我已经写好了。它是,getTimestamp()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多