按日期搜索数据库

时间:2013-11-18 11:17:48

标签: java mysql swing datetime

我想通过搜索日期在我的name表中搜索名为work的列。其他列为id(primary key) and mydate。我找不到我的代码有什么问题。我正在使用jdbc类进行数据库连接。

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)             {                                         
   String date1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(jDateChooser1.getDate());
    String time1 = dateSpinner1.getValue().toString().split(" ")[3];
    date1 = date1 + " " + time1;

    try {
        ResultSet rs =db.getData("SELECT * FROM work WHERE mydate = '"+date1+"'");
      while (rs.next()) {                
           String name = rs.getString("name");
         System.out.println(name);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

3 个答案:

答案 0 :(得分:0)

date是MySQL中函数的名称。你需要将它包装在`characters:

ResultSet rs =db.getData("SELECT * FROM work WHERE `date` = '"+date1+"'");

答案 1 :(得分:0)

一个可能的错误可能是数据库小时分钟和秒不是0:0:0而且从datechooser得到这些字段为0:0

答案 2 :(得分:0)

你能否在日期中将date1作为日期传递(作为参数)?

"SELECT * FROM work WHERE date = ?" and pass parameter as date