MySQL VB.Net中的时间范围验证

时间:2016-02-21 14:21:57

标签: mysql vb.net

我在数据库中为教授提供了schedule_tbl,并且有starting_time,ending_time和day列。我想做的是,如果我插入7:00:00到10:00:00的开始,则7:00:00-10:00:00的所有计数器都无效。

我的记录示例

starting_time     ending_time     day
7:00:00           10:00:00        Monday

插入

6:00:00           8:00:00         Monday

然后它必须是无效的。到目前为止,这是我的代码。

    ("SELECT * FROM schedule_tbl WHERE "' and starting_time >= '" & _
 Me.dtpStart.Value.ToString("HH:mm:ss") & "' and ending_time <= '" & _
 Me.dtpEnd.Value.ToString("HH:mm:ss") & "' and day = '" & ComboBox4.Text & "'", conn3)

它工作但仅在starting_time和ending_time之间的范围内。如果我输入 6:00:00作为starting_time 9:00:00作为ending_time ,则会将数据库添加到无效

2 个答案:

答案 0 :(得分:1)

确定两个周期是否重叠的正确逻辑是第一个在第二个结束之前开始,第一个在第二个开始之后结束。获得重叠的逻辑如下:

glm.fit=glm(Status~Length+Right+Bottom+Top+Diagonal,data=bank,family=binomial,subset=1:100)

注意:您可能需要SELECT s.* FROM schedule_tbl s WHERE s.starting_time < $EndTime and s.ending_time > $StartTime; >=来解决您的问题,而不是严格的不平等。

答案 1 :(得分:0)

我的错误只是我的if else语句出现问题,而不是使用 OR 我编码 AND 现在正常工作。