【问题标题】:Can't find class TableAdapterManager in visual studio express 2010在 Visual Studio Express 2010 中找不到类 TableAdapterManager
【发布时间】:2017-12-31 05:01:44
【问题描述】:

我尝试使用此代码

 Dim Manager1 As New TableAdapterManager()

但是好像找不到 TableAdapterManager。

Visual Studio Express 2010 不支持这个类吗?

【问题讨论】:

    标签: vb.net ms-access hierarchical


    【解决方案1】:

    这不是您使用表适配器管理器的方式。它是类型化 DataSet 的一部分,并且就像类型化 DataSet 中的所有其他内容一样,它会在您创建数据源时由 VS 生成。

    使用 VS 中的“数据源”窗口创建一个新的数据源并指定您要为您的数据库创建一个DataSet。这将为数据库中的每个表生成一个类型化的DataSet,包括一个类型化的DataTable。每个DataTable 还将有一个表适配器和一个表适配器管理器,允许您一次使用多个表适配器保存更改。

    您可以将这些项目从工具箱拖到设计器中的表单中,也可以在代码中创建它们。如果您在代码中创建它们,则将有一个专用于 DataSet 的表适配器的命名空间,因此您必须使用该命名空间限定类型名称或导入它,就像任何其他命名空间一样。

    【讨论】:

    • 我明白了。但是当我这样做时,访问文件的位置是固定的。反正有没有用代码归档它。我的意思是因为我为 1 个没有关系的表完成了保存按钮(通过命令 INSERT pla pla ... 更新、插入、删除记录)。但是当我保存相关表时,我发现这种方式是 TableAdapterManager()。我不知道有什么方法可以保存分层而不在数据集窗口上创建数据集
    • 您是否正确取决于您所说的“固定”是什么意思,但这并不重要。您应该已将 Access 数据文件添加到项目中,因此它应该位于项目文件夹中。没有充分的理由将它放在其他任何地方,因此源文件路径是固定的这一事实无关紧要。至于部署后,您可以将数据文件放在您想要的任何位置。连接字符串存储在应用程序配置文件中,因此,如果您希望该文件位于默认位置以外的位置,只需编辑该配置文件即可。
    • 也就是说,如果您不想使用键入的 DataSet,那就不要。这只是一种方便。类型化的DataSet 类继承了标准的DataSet 类,类型化的DataTable 类继承了标准的DataTable 类,并且表适配器都是数据适配器的包装器。您可以自己使用所有这些标准类。表适配器管理器类只调用多个表适配器方法,即使您使用的是类型化的DataSet,您也可以自己调用这些方法。如果不是,只需调用数据适配器上的方法。简而言之,了解 ADO.NET。
    • 感谢您的指导。这对我真的很有帮助,我对此非常感激。我尝试与类型化数据集一起使用,但我面临一些其他问题。除此之外,我为 openfiledialog 存在的用户打开文件编码,我现在不想使用类型化的数据集。但我认为使用一些可用的方法(TableAdapterManager)是个好主意,也许我会在之后这样做:))
    • 顺便说一句,要更新相关表,除了使用类型化的数据集,还有什么办法吗?我在谷歌上搜索,有人说我需要更新级联。这不是什么意思?我尝试先更新子表的所有记录,然后更新父表中的所有记录,但它得到相同的错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多