vb.net按时间筛选绑定源

vb.net按时间筛选绑定源,vb.net,visual-studio,Vb.net,Visual Studio,您好,我有一个数据库,在下面的图像字段中,日期/时间以红色突出显示,格式为中间时间,如下所示 以及时间字段中日志的字段类型和格式 我已将数据库连接到我的vb.net项目,并使用以下代码使用数据库的log_in_time字段过滤绑定源。我使用datetimepicker作为输入源。请注意,LogoutTime是日期时间选择器 代码 Private Sub LoginTime_ValueChanged(ByVal sender As Object, ByVal e As System.EventAr

您好,我有一个数据库,在下面的图像字段中,日期/时间以红色突出显示,格式为中间时间,如下所示

以及时间字段中日志的字段类型和格式

我已将数据库连接到我的vb.net项目,并使用以下代码使用数据库的log_in_time字段过滤绑定源。我使用datetimepicker作为输入源。请注意,LogoutTime是日期时间选择器 代码

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的格式设置为自定义格式,即hh:mm tt。现在的问题是上述代码不起作用,它返回一个空的搜索结果。。我会做错什么?如果能帮上忙,我将不胜感激。。谢谢。

根据我上面的评论,问题可能是您的筛选器中包含的内容比字段中的内容多或少

如果该字段仅包含10:25 aman,并且您的筛选器包含日期,因此您的完整筛选器字符串为1999年12月30日上午10:25,这将不返回匹配项,或者如果该字段实际包含秒数以及无法获得匹配项的时间。 在任何一种情况下,如果字段的格式如上所述,则仅显示上午10:25

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

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

有人不得不问一个显而易见的问题——你是否在尝试过滤日志。。。还是登录。。。?问题是登录。。代码注销…格式只是它在Access中的显示方式,而不是它的存储方式。您建议我怎么做…将LoginTime值移动到日期变量,并根据过滤器的需要设置格式。检查用于筛选器的字符串。请注意,有时由于舍入/表示问题,时间值的精确比较会失败。老实说,我已经在谷歌上搜索了好几天了。。如果你能给我一个代码示例,我将不胜感激。。