Vb.net 即使SQL请求正确,DataGridView也保持为空

Vb.net 即使SQL请求正确,DataGridView也保持为空,vb.net,datagridview,Vb.net,Datagridview,因此,我只需要用我在MySQL Workbench中尝试过的SQL请求的结果填充WinForm的DataGridView,它可以完美地工作 这不是我第一次在这个特殊的项目中这样做,其他的都很好。但是,无论我做什么,DataGridView都保持为空 下面是我的代码: Dim BindingName作为新BindingSource,ProdSet作为新数据表 私有子选择全部制作() ClassConfig.Connexion.Open() ProdSet.Clear() 作为字符串的Dim-Req

因此,我只需要用我在MySQL Workbench中尝试过的SQL请求的结果填充WinForm的DataGridView,它可以完美地工作

这不是我第一次在这个特殊的项目中这样做,其他的都很好。但是,无论我做什么,DataGridView都保持为空

下面是我的代码:

Dim BindingName作为新BindingSource,ProdSet作为新数据表
私有子选择全部制作()
ClassConfig.Connexion.Open()
ProdSet.Clear()
作为字符串的Dim-Requete
Requete=“从产品中选择*”
尝试
Dim Cmd作为新的MySqlCommand
使用Cmd
.Connection=ClassConfig.Connexion
.CommandText=Requete
以
Dim Adpt作为新的MySqlDataAdapter(Cmd)
自动填充(产品集)
特例
自动恢复。错误检查(ex)
结束尝试
ClassConfig.Connexion.Close()
BindingName.DataSource=ProdSet
DataGridView.DataSource=BindingName
端接头
要明确未显示的内容,请执行以下操作:

  • DataGridView是。。。好吧,DataGridView

  • ErrorCheck(ex)从另一个类调用子类,该类在出错时打开MsgBox(它不会)

  • Connexion只是存储在另一个类中的连接


    • 将数据集(prodset)设置为数据表,而不是填充数据集

      Dim prdtable as new DataTable
      
      然后

      还要确保已将正确的列添加到DataGridView或设置:

      dataGridView.AutoGenerateColumns = true
      

      不要填充数据集(prodset),而是将其设置为datatable

      Dim prdtable as new DataTable
      
      然后

      还要确保已将正确的列添加到DataGridView或设置:

      dataGridView.AutoGenerateColumns = true
      

      我在另一篇评论中提到这是绝对正确的,所以我做到了。但是,它仍然不起作用…使用新建议集AutoGenerateColumns=True编辑它仍然不起作用。。。我试图找出这是否是一个愚蠢的错误,但是停止显示它正在触发,然而,我仍然没有得到任何结果,即使是调试中的列,您是否确保表包含任何数据。设置bindingsource后,还要检查bindingsource.datasource的内容,以确保确实有要显示的内容。如果数据源包含行,请检查datagridview.columns是否也存在并包含您所期望的内容。但是,它仍然不起作用…使用新建议集AutoGenerateColumns=True编辑它仍然不起作用。。。我试图找出这是否是一个愚蠢的错误,但是停止显示它正在触发,然而,我仍然没有得到任何结果,即使是调试中的列,您是否确保表包含任何数据。设置bindingsource后,还要检查bindingsource.datasource的内容,以确保确实有要显示的内容。如果数据源包含行,请检查datagridview.columns是否也存在并包含您期望的内容。这是一个调试问题。在
      BindingName.DataSource=ProdSet
      行上放置一个调试停止,当到达该行时,使用调试工具检查表。如果它是空的,您可能连接到了错误的数据库。好吧,现在这真的很奇怪。。。因为我的表中有我的数据。发布的代码有效,所以我无法重新创建问题。您的网格真的命名为“DataGridView”吗?通常它后面有一个数字,等等。问题在于绑定源的名称,我将我的(实际上是
      BindingFact
      )重命名为
      BindingName
      ,它不知怎么起作用了?我可能在程序的其他地方使用了
      BindingFact
      ,这完全是可能的。这是一个调试问题。在
      BindingName.DataSource=ProdSet
      行上放置一个调试停止,当到达该行时,使用调试工具检查表。如果它是空的,您可能连接到了错误的数据库。好吧,现在这真的很奇怪。。。因为我的表中有我的数据。发布的代码有效,所以我无法重新创建问题。您的网格真的命名为“DataGridView”吗?通常它后面有一个数字,等等。问题在于绑定源的名称,我将我的(实际上是
      BindingFact
      )重命名为
      BindingName
      ,它不知怎么起作用了?我可能在程序的其他地方使用了
      BindingFact
      ,这完全是可能的。