簡體   English   中英

在vb.net中將DataGrid視圖連接到數據庫

[英]Connecting datagrid view to database in 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.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類型的對象來獲取命令並填充DataSet / DataTable。 該DataTable / DataSet應該用作bindingSource1 DataSource

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

試試這個^^

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM