【发布时间】:2010-02-23 23:33:44
【问题描述】:
我有一个有两个时间列的表。一个是登录时间,一个是注销时间。我希望能够在两者之间进行过滤,基本上大于选定的最小值,小于选定的最大值。我正在使用月历来获取时间跨度,但它无法正常工作。从那里我想将表中的 4 列添加到网格视图中。 DB中的日期格式如下:
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 已经回答了我的大部分问题,还有一个问题。我需要弄清楚如何制作它,以便月历只能选择一天并返回该天的值。似乎时间是一个问题,因为它如上所述在数据库中。仅比较日期是不够的。
不确定如何调整日期以包含时间。
【问题讨论】:
标签: .net vb.net datetime datagridview