我正在制作一个程序来保存并显示Visual Basic .NET中的匹配统计信息。 现在我只是在我的程序中显示日期时遇到问题。 从数据库(MS Access)读取,并显示在DataGridView
中的所有内容。在DataGridView中显示没有时间的DateTime
要显示日期,我使用行dgvWedstrijden.Rows.Item(n).Cells(1).Value = dataReader(1).Date
。 但是当我这样做时,日期显示为9/10/2014 00:00:00
。 如果我不输入.Date
,那么小时不是00:00:00
,而是14:15:26
。
相反,我行之前显示的,我也用:
Dim datum As DateTime = FormatDateTime(dataReader(1), 1)
dgvWedstrijden.Rows.Item(n).Cells(1).Value = datum.Date
但是这给了相同的结果。
有人可以帮助我如何显示日期没有时间(所以没有00:00:00
)?我不能使用ToString
,因为那是不可能按日期排列的。
谢谢
Public Sub updateWedstrijden()
Dim con As New OleDb.OleDbConnection
Dim dbProvider As String
Dim dbSource As String
Dim dataReader As OleDbDataReader
Dim addnewcommand = New OleDb.OleDbCommand
dbProvider = "PROVIDER=Microsoft.ACE.OLEDB.12.0;"
dbSource = "Data Source = D:\De Koarters\Kalender\Minivoetbal\Minivoetbal\DatabaseMinivoetbal.accdb"
con.ConnectionString = dbProvider & dbSource
dgvWedstrijden.Rows.Clear()
addnewcommand = New OleDb.OleDbCommand("SELECT SeizoenTornooi,Datum,Startuur,Tegenstander,DoelpuntenTegen,DoelpuntenVoor FROM Wedstrijden", con)
con.Open()
dataReader = addnewcommand.ExecuteReader
While dataReader.Read()
Dim n As Integer = dgvWedstrijden.Rows.Add()
dgvWedstrijden.Rows.Item(n).Cells(0).Value = dataReader(0)
dgvWedstrijden.Rows.Item(n).Cells(1).Value = dataReader(1).Date
dgvWedstrijden.Rows.Item(n).Cells(2).Value = dataReader(2).ToString.Substring(0, 2) & "u" & dataReader(2).ToString.Substring(2, 2)
dgvWedstrijden.Rows.Item(n).Cells(3).Value = dataReader(3)
dgvWedstrijden.Rows.Item(n).Cells(4).Value = dataReader(4) & "-" & dataReader(5)
End While
dataReader.Close()
con.Close()
dgvWedstrijden.Sort(dgvWedstrijden.Columns(0), ListSortDirection.Ascending)
End Sub
非常感谢,这帮助我很好:) – 2014-10-10 13:01:28