DatagridView не получает данные из источника данных - PullRequest
0 голосов
/ 18 октября 2019

В настоящее время я работаю над программой, в которой я могу генерировать ключи и сохранять их в локальной базе данных доступа, которая работает. Но когда я пытаюсь просмотреть эти сгенерированные ключи в DataGridView, DataGridView остается пустым.

Я уже пытался установить точки останова, и команда sql верна

Это мой Sub, который я хочу использовать для заполнения DataGridView

Friend Sub FillDGV(ByVal sTable As String)

        Dim VDB As New OleDbConnection(getProviderString)
        Dim SQLString As String = "SELECT * FROM " & sTable
        Dim DBDataadapter As OleDbDataAdapter
        Dim DBDataset As New DataSet
        Dim DBDatatable As New DataTable
        resetDGV()

        Try
            VDB.Open()
            DBDataadapter = New OleDbDataAdapter(SQLString, VDB)
            DBDataadapter.Fill(DBDataset, SQLString)

            DBDataadapter.Dispose()
            VDB.Close()

            frmMain.dgv_Voucher.DataSource = DBDataset.Tables(sTable)  'Tabelle an DataSource binden

            VDB.Dispose()
        Catch ex As OleDbException
            frmMain.LogMessage(modMain.msv_sAppname_Short & ", während der Prüfung der Existenz der Tabelle " & modMain.sMSAccess_File_Name & ". Es kam zu folgender Exception : " & ex.Message, 3)
            If VDB IsNot Nothing Then VDB.Close()
        End Try


    End Sub

Эточто я использую, чтобы открыть Sub

Private Sub cmb_SelectedDBTable_Index_changed(sender As Object, e As EventArgs) Handles cmb_SelectedDBTable.SelectedIndexChanged
        db.FillDGV(cmb_SelectedDBTable.SelectedItem)
    End Sub

1 Ответ

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

Это работает сейчас, это то, что я сделал

Friend Sub TestFillDGV(ByVal sTable As String)
        Dim VDB As New OleDbConnection(getProviderString)
        Dim SQLString As String = "SELECT * FROM " & sTable
        Dim DBDataadapter As OleDbDataAdapter
        Dim DBDataset As New DataSet
        resetDGV()

        Try
            VDB.Open()

            DBDataadapter = New OleDbDataAdapter(SQLString, VDB)
            DBDataadapter.Fill(DBDataset, sTable)

            VDB.Close()

            frmMain.dgv_Voucher.DataSource = DBDataset
            frmMain.dgv_Voucher.DataMember = sTable
            frmMain.dgv_Voucher.Columns("voucher_ID").Visible = False

            VDB.Dispose()
        Catch ex As OleDbException
            frmMain.LogMessage(modMain.msv_sAppname_Short & ", während der Prüfung der Existenz der Tabelle " & modMain.sMSAccess_File_Name & ". Es kam zu folgender Exception : " & ex.Message, 3)
            If VDB IsNot Nothing Then VDB.Close()
        End Try

    End Sub
...