Я работаю над страницей обработки данных для клиента.
Я создал диаграмму, которая показывает данные с моего сервера SQL.
На моей оси X у меня есть дата, но весь столбец содержит также временную метку, например, «01.08.2009 14:34», но не отображается.
Как показано на связанном рисунке ниже, как мне отформатировать значение оси x, чтобы показать только время или все значение из dbo, если это возможно?

Нужно ли форматировать размер диаграммы на экране, если да, то как мне это сделать? Я пытался найти вариант в настройках графика.
Вот фрагмент кода:
Private Sub dgvSiteChart() 'Load data from dbo
DateandTimeString24H = "'" & Date.Now.Year & "-" & Date.Now.Month & "-" & Date.Now.Day & " 00:00:00.000'" & " And " & "'" & Date.Now.Year & "-" & Date.Now.Month & "-" & Date.Now.Day & " 23:59:59.000'"
SQLCon = New SqlConnection
SQLCon.ConnectionString = "Data Source=" & System.Net.Dns.GetHostName() & "\KVMSQL;Initial Catalog=MHA;User ID=#####;Password =######"
Dim READER As SqlDataReader
Try
SQLCon.Open()
Dim Query As String
Query = "SELECT DateAndTime,Tagindex,Val FROM dbo.FT WHERE tagindex=0 and DateAndTime between " & DateandTimeString24H & "ORDER BY DateAndTime"
SQLCmd = New SqlCommand(Query, SQLCon)
READER = SQLCmd.ExecuteReader
While READER.Read
chrtReportMchn.Series("LOG").Points.AddXY(READER("DateAndTime"), READER("Val"))
End While
SQLCon.Close()
Catch ex As Exception
MsgBox(ex.Message)
Finally
SQLCon.Dispose()
End Try
End Sub
Формат даты и времени dd/MM/yyyy HH:mm(24H)
.
ОБНОВЛЕНИЕ: 10 / 1-19
Я понял это с помощью @Markus с его комментарием.
Код редактируется с помощью FORMAT(CAST(DateAndTime as time), 'hh\:mm\ ')
, поставленного перед DateAndTime
.
Try
SQLCon.Open()
Dim Query As String
Query = "SELECT FORMAT(CAST(DateAndTime as time), 'hh\:mm\ ') DateAndTime,Tagindex,Val FROM dbo.FT WHERE tagindex=0 and DateAndTime between " & DateandTimeString24H & "ORDER BY DateAndTime"
SQLCmd = New SqlCommand(Query, SQLCon)
READER = SQLCmd.ExecuteReader
While READER.Read