Vb.net 在窗体上声明变量TableAdapter

Vb.net 在窗体上声明变量TableAdapter,vb.net,winforms,visual-studio-2010,tableadapter,Vb.net,Winforms,Visual Studio 2010,Tableadapter,希望这是一个相当直截了当的问题 我正在应用程序中构建一个通用搜索表单。这将允许用户在整个应用程序中搜索各种记录 我似乎无法弄清楚的一件事是如何允许TableAdapter的声明在运行时更改。应用程序的每个部分都将向搜索表单传递一个变量,以指定应该加载哪个表 在form类中,我有以下内容: FRIEND WITHEVENTS tbaSearchData AS database.databaseTableAdapters.TableOneTableAdapter 这对第一张桌子很好。但是,我有大约

希望这是一个相当直截了当的问题

我正在应用程序中构建一个通用搜索表单。这将允许用户在整个应用程序中搜索各种记录

我似乎无法弄清楚的一件事是如何允许TableAdapter的声明在运行时更改。应用程序的每个部分都将向搜索表单传递一个变量,以指定应该加载哪个表

在form类中,我有以下内容:

FRIEND WITHEVENTS tbaSearchData AS database.databaseTableAdapters.TableOneTableAdapter
这对第一张桌子很好。但是,我有大约一百张可以搜索的表格

要加载数据,我使用DataGridView并通过私有方法填充它


任何帮助都将不胜感激

Tableadapter实际上是用于设计时设置的,在运行时不容易更改。您可能希望研究对这些请求使用DataAdapter,如SqlDataAdapter。这些对象具有较低的开销,并且不像tableadapter那样特定于类型,因此在运行时生成它们是一个不错的解决方案

Tableadapter实际上是用于设计时设置的,在运行时不容易更改。您可能希望研究对这些请求使用DataAdapter,如SqlDataAdapter。这些对象具有较低的开销,并且不像tableadapter那样特定于类型,因此在运行时生成它们是一个不错的解决方案

让我们看看我是否理解这一点。 我想出了两种可能的解决办法

  • 从应用程序的各个点,您可以传递专门的DataAdapter本身而不是tablename,并将通用DataAdapter变量分配到搜索表单中

  • 您可以在搜索表单中创建一个通用DataAdapter,并更改用于加载数据的SQL命令。在下面的代码中,
    da
    将是一个数据适配器,
    table
    是传递给搜索表单的表名


  • da.SelectCommand.CommandText=“Select*from”&table
    让我们看看我是否理解了这一点。 我想出了两种可能的解决办法

  • 从应用程序的各个点,您可以传递专门的DataAdapter本身而不是tablename,并将通用DataAdapter变量分配到搜索表单中

  • 您可以在搜索表单中创建一个通用DataAdapter,并更改用于加载数据的SQL命令。在下面的代码中,
    da
    将是一个数据适配器,
    table
    是传递给搜索表单的表名


  • da.SelectCommand.CommandText=“Select*from”&table花了一点时间,但SQL适配器正是我所需要的。您提到它也有较低的开销。当SQL数据库被添加为数据源时,使用SQLAdapter通常比使用TableAdapters更好吗?我认为这取决于您正在做什么。当您提前了解了大部分数据结构后,就可以使用tableadapter和它生成的类型化数据集,编写代码就更容易了。然而,为了运行时的灵活性,我不使用tableadapters和类型化数据集。我在飞行中创造我的东西。有时引用对象比较困难,但这是一个同等的折衷,因为我可以让我的sqladapter完全按照我想要的方式运行。这花了一点时间,但SQL适配器正是我所需要的。您提到它也有较低的开销。当SQL数据库被添加为数据源时,使用SQLAdapter通常比使用TableAdapters更好吗?我认为这取决于您正在做什么。当您提前了解了大部分数据结构后,就可以使用tableadapter和它生成的类型化数据集,编写代码就更容易了。然而,为了运行时的灵活性,我不使用tableadapters和类型化数据集。我在飞行中创造我的东西。有时引用对象比较困难,但这是一个同等的折衷,因为我可以让我的sqladapter完全按照我想要的方式运行。