vb.net按时间过滤绑定源

时间:2014-03-10 20:10:03

标签: vb.net visual-studio

您好我有一个数据库date/time(在下图中以红色突出显示)字段,格式为Medium Time,如下所示。

enter image description here

以及log_in_time字段的字段类型和格式..

enter image description here

我已将数据库连接到我的vb.net项目,并且我使用以下代码来过滤数据库的log_in_time字段的绑定源。我使用datetimepicker作为输入源。请注意LogoutTimedatetimepicker 代码..

Private Sub LoginTime_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles LoginTime.ValueChanged, LoginTime.KeyPress
    'filter the binding source with the input data
    Try
        '30-Dec-99 is the default date for time
        PaymentdetailsBindingSource.Filter = "log_in_time = '30-Dec-99 " & LoginTime.Text & "'"
    Catch ex As Exception
    End Try
End Sub

datetimepicker的格式设置为custom format hh:mm tt现在问题是上面的代码不起作用,它返回一个空的搜索结果..我能做什么?做错了任何帮助都会受到赞赏..谢谢..

1 个答案:

答案 0 :(得分:0)

根据我上面的评论,问题可能是您在过滤器中包含的内容比在字段中多(或少)。

如果该字段仅包含10:25 AM并且您的过滤器包含日期(因此您的完整过滤字符串为30-Dec-99 10:25 AM),则此字段将返回不匹配或者如果该字段实际包含秒数和时间你不会得到一个匹配。
(在任何一种情况下,如上所述格式化的字段只会显示10:25 AM

如果您的字段仅包含时间10:25 AM,请尝试:

PaymentdetailsBindingSource.Filter = "log_in_time = '" & LoginTime.Text & "'"