Mysql 在vb.net中将datagrid视图连接到数据库

Mysql 在vb.net中将datagrid视图连接到数据库,mysql,vb.net,Mysql,Vb.net,好的,我试着用datagrid视图显示MYSQL数据库中的所有内容。但是我得到的不起作用,有人能帮我写代码吗 Public Sub dataview() DataGridView1.DataSource = "" Dim bindingSource1 As New BindingSource() Try Dim cmd As New MySqlCommand("SELECT * FROM upload", db_con) With Me.Data

好的,我试着用datagrid视图显示MYSQL数据库中的所有内容。但是我得到的不起作用,有人能帮我写代码吗

    Public Sub dataview()
    DataGridView1.DataSource = ""
    Dim bindingSource1 As New BindingSource()
    Try
    Dim cmd As New MySqlCommand("SELECT * FROM upload", db_con)

    With Me.DataGridView1
        .AutoGenerateColumns = True

        bindingSource1.DataSource = cmd
        .DataSource = bindingSource1

        .AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders
        .BorderStyle = BorderStyle.Fixed3D
        .EditMode = DataGridViewEditMode.EditOnEnter
    End With
        DataGridView1.DataSource = bindingSource1
    Catch ex As Exception
        MessageBox.Show("something went wrong")
    End Try

您不能简单地将MySqlCommand传递给BindingSource。
您应该使用MySqlDataAdapter类型的对象来获取命令并填充数据集/数据表。 该数据表/数据集应用作
bindingSource1

Dim cmd As New MySqlCommand("SELECT * FROM upload", db_con)
Dim da = New MySqlDataAdapter (cmd)
Dim dt = New DataTable()
da.Fill(dt)
bindingSource1.DataSource = dt ' here assign the DataTable'

With Me.DataGridView1
    .AutoGenerateColumns = True
    .DataSource = bindingSource1
    .....
End With
试试这个^^

Public Sub dataview()
DataGridView1.DataSource = ""
Dim bindingSource1 As New BindingSource()
Try
Dim cmd As New MySqlCommand("SELECT * FROM upload", db_con)

With Me.DataGridView1
    .AutoGenerateColumns = True

    bindingSource1.DataSource = cmd
    .DataSource = bindingSource1

    .AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders
    .BorderStyle = BorderStyle.Fixed3D
    .EditMode = DataGridViewEditMode.EditOnEnter
End With
    DataGridView1.DataSource = bindingSource1
Catch ex As Exception
    MessageBox.Show("something went wrong")
End Try