Я пытаюсь использовать атрибуты selectionstart и selectionend из monthcalendar для фильтрации между двумя датами входа в таблицу. Когда я выбрал один день, это не работает правильно. Если я выбрал день раньше и день после дня, о котором идет речь, то так и будет. Значения времени в моей БД выглядят так:
2/23/2010 11:17:01 AM
Как логин, так и выход из системы относятся к этому типу. У меня такое ощущение, что когда я использую selectionstart и selection end, я просто получаю мм / дд / гггг, и то, что в БД, это и время.
Вот мой код:
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim str As String
Dim dr As OleDbDataReader
DataGridView1.Rows.Clear()
Try
cn = New OleDbConnection("Provider=microsoft.Jet.OLEDB.4.0;Data Source=G:\Sean\BMSBonder3_0.mdb;")
cn.Open()
str = "Select BonderIdentifier, UserName, Login, Logout From [Session] Where Login >= ? AND Logout <= ? AND BonderIdentifier = ?"
cmd = New OleDbCommand(str, cn)
cmd.Parameters.AddWithValue("Start", MonthCalendar1.SelectionStart)
cmd.Parameters.AddWithValue("End", MonthCalendar1.SelectionEnd)
cmd.Parameters.AddWithValue("BID", ListBox1.SelectedItem)
dr = cmd.ExecuteReader
While dr.Read()
If dr.Item(0).ToString <> "" Then
DataGridView1.Rows.Add(dr.Item(0), dr.Item(1), dr.Item(2), dr.Item(3))
End If
End While
dr.Close()
cn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try