Как установить запись в MySQL в столбец в datagridview? - PullRequest
0 голосов
/ 27 октября 2019

Я хочу преобразовать записи в базе данных (MySQL) в заголовок DataGridView в Visual Studio 2010.

Я хочу настроить свое представление данных следующим образом: https://imgur.com/jVqhnFJ

Это мой скрипт:

Private Sub show_data()
        conn.Open()
        Dim strDateTime = Today.Month
        Dim cmdselect = New MySqlCommand("SELECT * FROM sell WHERE month(date)='"& strDateTime &"'", conn)
        Dim rd = cmdselect.ExecuteReader

        If rd.HasRows Then
            Try
                conn.Close()
                conn.Open()

                da = New MySqlDataAdapter("SELECT * FROM sell WHERE month(date)='" & strDateTime & "'", conn)

                'the code maybe goes here..
                (.....)

                dt.Clear()
                da.Fill(dt)
                DGV.DataSource = dt
                Me.DGV.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)
                conn.Close()
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        Else
            MsgBox("Failed")
        End If

        DGV.ReadOnly = True

    End Sub

Большое спасибо за вашу помощь. (извините за мой плохой английский).

1 Ответ

0 голосов
/ 27 октября 2019

Нет объяснения, что такое столбцы «26» и «27».

Кроме того, один из способов сделать это:

SELECT Description, Total26, Total27 FROM Sell

UNION ALL

SELECT 'Total' as Description, SUM(Total26) as Total26, SUM(Total27) as Total27 FROM Sell

Обратите внимание, что в любых столбцах вы хотитеВ результирующем наборе столбцы в первой половине UNION должны соответствовать столбцам во второй части. Вот почему я

Вы также хотите визуально представить строку Total, то есть:

Me.DataGridView1.Rows(Me.DataGridView1.Rows.Count-1).DefaultCellStyle.BackColor = Color.Navy;
Me.DataGridView1.Rows(Me.DataGridView1.Rows.Count-1).DefaultCellStyle.ForeColor = Color.White;

ПРИМЕР

  SELECT TOP 5 CAST(BinDateTime as nvarchar(10)) as TestPeriod, Duration FROM Test_BinItems 
  UNION ALL
  SELECT 'TOTAL' as TestPeriod, SUM(Duration) FROM Test_BinItems 

UNION example

Обратите внимание, что этот пример использует TOP 5 сервера sql для ограничения набора результатов до 5 + 1 строк (в MySQL это немного отличается, добавляя LIMIT 5) для ясности,Это не нужно в реальном сценарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...