Vb.net 如何在visual basic 2012中为日期使用BindingSource.Filter?

Vb.net 如何在visual basic 2012中为日期使用BindingSource.Filter?,vb.net,visual-studio-2012,bindingsource,Vb.net,Visual Studio 2012,Bindingsource,我正在尝试筛选我的数据库,以显示从我表格上的日历中选择的日期的所有预订。这是我写的代码 Public selDate As DateTime Dim response As Integer Public Sub FilterBooking(selDate) '// Here I will create a filter to for boookings on selected date from calender Dim dateFrom As DateTime

我正在尝试筛选我的数据库,以显示从我表格上的日历中选择的日期的所有预订。这是我写的代码

    Public selDate As DateTime
Dim response As Integer

Public Sub FilterBooking(selDate)
    '// Here I will create a filter to for boookings on selected date from calender

    Dim dateFrom As DateTime
    Dim dateTo As DateTime

    dateFrom = selDate & " 00:00:01"
    dateTo = selDate & " 23:59:59"
    MsgBox(dateFrom)
    MsgBox(dateTo)

    Me.QueryBookingInfoBindingSource.Filter = "BookingDate >= #" & dateFrom & "# AND BookingDate <= #" & dateTo & "#"
End Sub

Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the 'GarageDataSet.queryBookingInfo' table. You can move, or remove it, as needed.
    Me.QueryBookingInfoTableAdapter.Fill(Me.GarageDataSet.queryBookingInfo)
    'set currently selected date in the main calender to selDate variable
    selDate = mainCalender.SelectionStart.Date
    'run the following sub
    FilterBooking(selDate)
End Sub
Public选择日期作为日期时间
作为整数的Dim响应
公共子过滤器预订(selDate)
“//在这里,我将创建一个过滤器,用于从日历中选择日期的boookings
将dateFrom变暗为DateTime
将dateTo变暗为DateTime
dateFrom=selDate&“00:00:01”
dateTo=selDate&“23:59:59”
MsgBox(日期从)
MsgBox(日期到)

Me.QueryBookingInfoBindingSource.Filter=“BookingDate>=#”&dateFrom&“#”和BookingDate=#”&dateFrom.ToString(“dd/MM/yyyyy hh:MM:ss”)&“#和BookingDate您是否尝试过格式化日期

Me.QueryBookingInfoBindingSource.Filter = "BookingDate >= " & String.Format("#{0:yyyy/MM/dd HH:mm:ss}#", dateFrom) & " AND BookingDate <= " & String.Format("#{0:yyyy/MM/dd HH:mm:ss}#", dateTo)
Me.querybookingfobbindingsource.Filter=“BookingDate>=”&String.Format(“{0:yyyy/MM/dd HH:MM:ss}”,dateFrom)&”和BookingDate=“,dateFrom)
.附加(“和”)

.AppendFormat(filterFormat,“您使用的是哪种数据源?本地存储的access Database否,我的意思是在调用代码端。它是一个数据集?实体对象?POCOs?哦,是的,它是一个数据集?当我使用该代码时,会出现此错误…System.Data.SyntaxErrorException类型的未处理异常出现在System.Data.dll中其他信息:语法错误:Missi在“00”运算符后ng操作数。再次编辑。现在知道这是一个数据集,应该这样做。我的错误…谢谢你这么做!!很高兴我能提供帮助。:)请注意:当前筛选器将过滤掉设置为00:00:00的日期。确保这是你想要的。此外,不要将时间值连接为字符串,而是考虑将时间轴添加到日期。如果您设置了“从特定日期获取所有预订”的查询,您将如何设置它?
Me.QueryBookingInfoBindingSource.Filter = "BookingDate >= " & String.Format("#{0:yyyy/MM/dd HH:mm:ss}#", dateFrom) & " AND BookingDate <= " & String.Format("#{0:yyyy/MM/dd HH:mm:ss}#", dateTo)
Public Sub FilterBooking(selDate)
    Dim dateFrom As DateTime = selDate.Date
    Dim dateTo As DateTime = dateFrom.AddDays(1).Subtract(New TimeSpan(1))

    Dim filterBuilder As New StringBuilder()
    Dim filterFormat As String = "BookingDate {0} #{1:yyyy/MM/dd HH:mm:ss}#"

    With filterBuilder
        .AppendFormat(filterFormat, ">=", dateFrom)
        .Append(" AND ")
        .AppendFormat(filterFormat, "<=", dateTo)
    End With

    Me.QueryBookingInfoBindingSource.Filter = filterBuilder.ToString()
End Sub