当前位置: 首页 > 知识库问答 >
问题:

用java windows应用程序获取mysql中两个日期之间的记录

百里景山
2023-03-14
    |------------------||-----------------|
    | date    | present|| date   | present|
    |2015-9-7 |  1     ||2015-9-7|  1     |
    |2015-9-8 |  1     ||2015-9-8|  0     |
    |2015-9-9 |  1     ||2015-9-9|  1     |
JTextField day1,day2,id;
Container c;
int t=0,in=0,re;
Integer mo1=new Integer(0);
Integer mo2=new Integer(0);
JButton sh,home,sha;
JLabel lday1,lday2,lid;
String tp;
String mo[]={"JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"};
int it[]=new int[100];
int ct[]=new int[100];
Choice dob1,dob2,add1,add2;
JOptionPane jp = new JOptionPane();
public emp()// constructor
{

    lid = new JLabel("Id :");  
    lid.setForeground(Color.black);
    lday1 = new JLabel("Day From :");  
    lday1.setForeground(Color.black);
    lday2 = new JLabel("Day To:");  
    lday2.setForeground(Color.black);

    id = new JTextField(); 
    id.setForeground(Color.black); 
    id.setBackground(Color.white);
    day1 = new JTextField(); 
    day1.setForeground(Color.black); 
    day1.setBackground(Color.white);
    day2 = new JTextField(); 
    day2.setForeground(Color.black); 
    day2.setBackground(Color.white);
    sh = new JButton("Show"); 
    sh.setForeground(Color.white); 
    sh.setBackground(new Color(128,0,0));
    dob1 = new Choice();
    dob2 = new Choice();
    dob1.add("1");
    dob1.add("2");
    dob1.add("3");
    dob1.add("4");
    dob1.add("5");
    dob1.add("6");
    dob1.add("7");
    dob1.add("8");
    dob2.add("JAN");
    dob2.add("FEB");
    dob2.add("MAR");
    dob2.add("APR");
    dob2.add("MAY");
    dob1.setBounds(190,150,40,20);
    dob2.setBounds(250,150,55,20);
    add1 = new Choice();
    add2 = new Choice();
    add1.add("1");
    add1.add("2");
    add1.add("3");
    add1.add("4");
    add1.add("5");
    add1.add("6");
    add1.add("7");
    add1.add("8");
    add2.add("JAN");
    add2.add("FEB");
    add2.add("MAR");
    add2.add("APR");
    add2.add("MAY");
    c.add(lid);
    c.add(lday1);
    c.add(lday2);
    c.add(id);
    c.add(sh);
    c.add(dob1);
    c.add(dob2);
    c.add(add1);
    c.add(add2);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setVisible(true);

}
public void actionPerformed(ActionEvent ae)
{   

    Object source = ae.getSource();
    if(source==sh)
    {
        re=0;
        if((id.getText()).length()!=0)
        {
        try
        {

            t=0;
            for(in=0;in<12;in++)
            {
                if(mo[in]==dob2.getSelectedItem())
                mo1=in+1;

            }
            ResultSet rs = stm.executeQuery("select * from e"+id.getText()+" where date_format(day,'%d')="+dob1.getSelectedItem()+" and date_format(day,'%m')="+mo1);
            while(rs.next())
            {   
                t=1;    
                re=rs.getInt("pre");
                if(re==1)
                jp.showMessageDialog(this,"Present";
                else
                jp.showMessageDialog(this,"Absent");
            }
            if(t==0)
            {
                jp.showMessageDialog(this,"Sorry, No Such Record exists");
                t=0;
            }

    }

}
但是这里我得到的输出是“不存在这样的记录”。

共有1个答案

姚阳德
2023-03-14

您可以像下面这样直接简单地创建mysql查询:

从[TABLE NAME]中选择*,其中DATE(DATE)位于'yyyy-mm-dd'和'yyy-mm-dd'之间

它将为您提供所选员工的出勤列表。因此,您将从代码中创建日期格式化字符串,并将其传递给mysql查询。

 类似资料:
  • 问题内容: 我陷入MySQL中的问题。我想获取两个日期时间项之间的记录数。 例如: 我的表中有一列名为“ created”的数据类型。 我想计算在“今天的4:30 AM”和“当前日期时间”之间的日期时间创建的记录。 我尝试了MySQL的一些功能,但仍然没有运气。 你能帮我吗?谢谢。 问题答案: 可能与: 或使用: 您可以根据需要更改日期时间。可以使用或获取所需的日期。

  • 问题内容: 我有两个这样的表: 表格1 表2 我想从 Table1中 选择并插入 Table2中 。 例如: 在表1中,我有这个 在表2中,我想要这个 带有样本数据的表结构 问题答案: 感谢您的架构。它使处理您的问题变得容易。我对您的架构进行了一些更改以利用auto_increment 在这里,我在emp_leave_daywise表上添加了唯一约束,因为id整数上的主键不能确保记录不重复。 em

  • 问题内容: 在MySql数据库中有表 我的问题是,我要传递开始日期和结束日期,然后我将获得列日期,例如: 那么我将获得101,102,103 UserId的值。但是我出错了 问题答案: 这可能会更好: 也可能是保留字,对此不太确定。如果是这种情况,则您需要在其周围加反引号(前后应有一个`)

  • 我的桌子有这样的结构 如何在mysql中获取上述数据的两个日期之间的事件(日期比较与年份无关)。例如,如果start_date是2014-05-01,结束日期是2014-05-20,则输出应该是 更新:如果同一个人的结婚日期和出生日期都在提供的日期范围内,则输出应包含该人的两列 (抱歉我的英语不好)

  • 问题内容: 使用标准的mysql函数可以编写查询,该查询将返回两个日期之间的天数列表。 例如,给定2009-01-01和2009-01-13,它将返回一个具有以下值的列表: 编辑:看来我还不清楚。我要生成此列表。我在数据库中存储了值(按日期时间),但希望将它们在左外部联接中汇总到上述日期列表中(我希望这种联接的某些右侧在几天内会为null并将对此进行处理) )。 问题答案: 我将使用此存储过程将所

  • 问题内容: 我在一个项目中工作,我在Date中有两种类型。我想计算这两个日期之间的周数。日期可以是不同的年份。有什么好的解决方案吗? 我试图通过Joda-time来实现这一点,这在其他主题中已得到建议。 我不熟悉该库,但我尝试执行以下操作: 但这是完全错误的…有什么建议吗? 问题答案: 乔达时间很简单:

  • 你好,我有两列日期时间的多行,我想获取所有记录的两列之间的最新日期(最高)的行。请查看以下内容: 我想从两列(Date1和Date2)的所有记录中获取最高日期。从上表中,我想要第三行日期,因为这是两列所有记录中的最高日期(2021-06-16 20:04:24)。如果我们在2021-06-16 09:20:41之前更改date1列第3行,那么结果将是第2行,因为在date2中找到了最高日期记录。请

  • 本文向大家介绍MySQL查询两个日期之间记录的方法,包括了MySQL查询两个日期之间记录的方法的使用技巧和注意事项,需要的朋友参考一下 网上搜索出来的结果多是下面答案: MySQL中,如何查询两个日期之间的记录,日期所在字段的类型为datetime(0000-00-00 00:00:00) 解决方案: 直接使用><=就可以查询。 where createDate<'2003-5-31' and c