如何将MySQL中的记录设置为datagridview中的列?

如何将MySQL中的记录设置为datagridview中的列?,mysql,vb.net,visual-studio-2010,Mysql,Vb.net,Visual Studio 2010,我想在VisualStudio2010中将数据库(MySQL)中的记录转换为DataGridView的标头 我想如下设置我的datagridview: 这是我的剧本: Private Sub show_data() conn.Open() Dim strDateTime = Today.Month Dim cmdselect = New MySqlCommand("SELECT * FROM sell WHERE month(date)='"&am

我想在VisualStudio2010中将数据库(MySQL)中的记录转换为DataGridView的标头

我想如下设置我的datagridview:

这是我的剧本:

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
非常感谢你的帮助。
(对不起,我的英语不好)。

没有解释什么是“26”和“27”列

除此之外,一种方法是:

SELECT Description, Total26, Total27 FROM Sell

UNION ALL

SELECT 'Total' as Description, SUM(Total26) as Total26, SUM(Total27) as Total27 FROM Sell
请注意,无论您在结果集中选择哪一列,
联合的前半部分中的列必须与第二部分中的列匹配。这就是为什么我

您还希望直观地显示
总计
行,即:

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 


注意,这个示例使用sql server的
Top5
将结果集限制为5+1行(在MySQL中有点不同,为了清晰起见,添加了
limit5
)。这在实际场景中是不需要的。

当查询中的行变为列时,它被称为pivot。做一点研究,看看你能为自己想出什么。非常感谢你的回复。你能给我一个关于这个问题的链接吗?请帮助我。非常感谢你的回复。26和27是销售表中的日期。但是我需要完整的代码,你必须提供适当的信息。这就是表模式和更多。我只能猜出你的意思。我将修改我的答案,希望它能有所帮助。