如何将MySQL中的记录设置为datagridview中的列?
我想在VisualStudio2010中将数据库(MySQL)中的记录转换为DataGridView的标头 我想如下设置我的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
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是销售表中的日期。但是我需要完整的代码,你必须提供适当的信息。这就是表模式和更多。我只能猜出你的意思。我将修改我的答案,希望它能有所帮助。