【问题标题】:DatagridView is not getting data from the DataSourceDatagridView 未从 DataSource 获取数据
【发布时间】:2019-10-18 09:24:55
【问题描述】:

我目前正在开发一个程序,我可以在其中生成密钥并将它们保存到本地创建的访问数据库中,这确实有效。但是当我尝试在 DataGridView 中查看这些生成的键时,DataGridView 保持空白。

我已经试过设置断点了,sql命令是对的

这是我想用来填充 DataGridView 的 Sub

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

这是我用来打开子的

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

【问题讨论】:

    标签: vb.net datagridview datasource oledb


    【解决方案1】:

    现在可以了,这就是我所做的

    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
    

    【讨论】:

      猜你喜欢
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      • 2015-09-09
      • 2019-10-12
      • 2016-07-28
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      相关资源
      最近更新 更多