【发布时间】:2014-12-04 15:28:12
【问题描述】:
我正在编写一个程序来在 Visual Basic .NET 中保存和显示匹配统计信息。
现在我在程序中显示日期时遇到了问题。
从数据库中读取(MS Access),我在DataGridView 中显示所有内容。
为了显示日期,我使用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
【问题讨论】:
标签: .net vb.net date datetime ms-access