gpt4 book ai didi

java - Sqlite日历重复事件逻辑

转载 作者:行者123 更新时间:2023-12-02 06:59:57 25 4
gpt4 key购买 nike

我正在使用自定义日历(回历日历)来显示我的应用中的事件。我有一个简单的事件数据库,用户在其中输入详细信息,自定义日历显示输出。

这是事件表单:

Name
Description
Repetition (with options: Monthly, Yearly and Never)
Date (custom date)

表单已提交,数据已插入数据库。这是数据库架构:

id|e_name|e_desc|repeat|day|month|year

由于输入数据库的是回历日期,为了方便起见,我已将日期拆分为日|月|年。

当我想显示特定日期的所有事件时,问题就出现了。如果有简单的一日 Activity ,一切都很好。但是,如果一个日期有多个具有不同重复值的事件,则它永远不会显示正确的数据。

例如:一个日期有两个事件(为简单起见,我将使用公历):

29/5/2013 -1- Monthly event
29/5/2013 -2- Yearly event

这应该显示 2013 年 5 月 29 日的两个事件。然而,事件 1 应每月重复发生一次。这是查询:

select * from user_events WHERE day = '29' AND month = '5'

这将显示该日期的所有事件,无论重复条件如何。但是,如果我想在 29/4/2013 添加每月 Activity 。如果我查询这个:

从 user_events WHERE day = '29' 中选择 *

。 .它将每月显示事件,但也会将每年事件显示为每月。

如果我用月份条件查询:AND Month = '5',则只会显示 5 月份的年度和每月事件,但不会显示 29/4 的每月事件.

简而言之,5 月应显示 2 个每月事件(29/4 事件和 29/5)和一个年度事件 (29/5)。

我该如何解决这个问题?

最佳答案

select * from user_events where
(day = ? and month = ? and repeat = 'year')
or
(day = ? and repeat = 'month')

关于java - Sqlite日历重复事件逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16803375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com