2
我有一個包含兩個時間列的表。一種是登錄時間,一種是註銷時間。我希望能夠在兩者之間進行過濾,基本上大於最小選擇和小於所選最大值。我正在使用每月的日曆來獲得時間跨度,但它無法正常工作。從那裏我想將表格中的4列添加到gridview。在DB的日期是在以下格式:通過vb.net中的正確時間跨度過濾SQL
2/23/2010 11:17:01 AM
我知道如何從表中單一的元素,或列而不是整個行。
所以我想我有2個問題,得到的SQL正確的過濾器,然後將結果綁定到表。
這是到目前爲止我的代碼:
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim str As String
Dim dr As OleDbDataReader
Dim date1 As Date
Dim date2 As Date
If (Not SubmitNewToDB(session)) Then
MsgBox("error")
End If
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 < " & MonthCalendar1.SelectionEnd _
& " AND Logout > " & MonthCalendar1.SelectionStart & ") AND BonderIdentifier = " & session.bonderIdentifier
cmd = New OleDbCommand(str, cn)
dr = cmd.ExecuteReader
While dr.Read()
If dr.Item(0).ToString <> "" Then
DataGridView1.Rows.Add(dr.Item(0))
End If
End While
dr.Close()
cn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
編輯
SLaks已經回答了我的大部分問題,一個問題仍然存在。我需要弄清楚如何製作它,以便monthcalendar只選擇一天並返回那些日期值。似乎時間是一個問題,因爲它如上所述在數據庫中。僅僅比較日期是不夠的。
不知道如何調整日期以包含時間。
OleDb的需求定購?用於參數佔位符而不是名爲@parameters。 – 2010-02-23 23:43:25
謝謝,但我的過濾器仍然無法正常工作。 – 2010-02-23 23:44:27
我編輯了答案;現在就試試。 – SLaks 2010-02-23 23:47:19