在表单上声明变量TableAdapter

时间:2011-08-15 16:29:51

标签: vb.net winforms visual-studio-2010 tableadapter

希望这是一个相当简单的问题。

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

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

在表单类中,我有以下内容:

FRIEND WITHEVENTS tbaSearchData AS database.databaseTableAdapters.TableOneTableAdapter

这对TableOne来说很棒。但是,我有大约一百张可以搜索的表格。

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

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

Tableadapter真正用于设计时设置,并且在运行时不容易更改。您可能希望使用DataAdapter(如SqlDataAdapter)来处理这些请求。这些对象具有较低的开销,并且不像tableadapter那样特定于类型,因此在运行时创建它们是一个不错的解决方案。

答案 1 :(得分:0)

让我们看看我是否理解这一点。 我想出了两个可能的解决方案

  1. 从应用程序的各个角度,您可以传递专门的DataAdapter本身而不是表名,并将一般的DataAdapter变量分配到搜索表单中。

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

  3. da.SelectCommand.CommandText = "Select * from " & table