0

我正在使用两个不同的数据集来使用 vb.net 使用 Visual Studio 填充我的项目的 datagridview。它是 Windows 窗体应用程序,用于根据用户输入显示来自数据库的信息。一旦显示信息,用户可以将信息保存到专门创建的表格中,以存储报告信息,以便以后调用。我现在正试图回忆这些信息,因此以与以前相同的方式创建了我的数据集,现在正试图调用它的新出现,这就是问题开始的地方。代码如下。

Dim dv2 As New System.Data.DataView
dv2 = New System.Data.DataView(DataSet2.Tables(0), "Status <> ''", "",       
DataViewRowState.CurrentRows)
DataTable2TableAdapter.fill(DataSet2.DataTable2, f5.ComboBox2.SelectedValue)

我有两个问题。

  1. 对于DataSet2.Tables(0)Reference to a non-shared member requires an object reference
  2. 对于DataTable2TableAdapter’DataTable2TableAdapter’ is not declared. It may be inaccessible due to its protection level.

我不知道为什么会发生这种情况,因为我在这里编写了与我之前的数据集相同的代码,除了在设置时更改数据集后面的 SQL 语句。任何想法都会受到欢迎,因为我完全没有想法。欢迎提出所有问题。

谢谢

4

1 回答 1

0

尝试以下代码来修复您的错误号 1....

Dim tablezero as System.Data.DataTable
'
tablezero = DataSet2.Tables(0)

您收到错误的原因是因为您正在尝试访问一个对象 (Table(0)),并且它对尝试访问它的代码不可见,如果它是 SHARED,那么它将是可见的。

因此,您可以通过定义和对象实例/引用来解决它,然后访问该引用,在这种情况下我称之为“tablezero”(或通过使 table(0) SHARED - 通常不是最好的选择,除非它是必要的 - 没有意义除非绝对必要,否则整个班级都可以访问它

很可能第二个错误在上面修复后可能会消失,然后如果没有您的 Dataset2 代码就很难分辨

希望能帮助到你。

于 2013-01-05T23:53:46.503 回答