.net,SQLDataTableAdapters

时间:2009-05-21 18:03:33

标签: asp.net linq .net-3.5

我有一个在.xsd文件中使用SQL数据表适配器的SQL查询方法,并且需要能够在后面的代码中动态地将连接字符串更改为该方法。我无法弄清楚如何从代码后面访问方法属性。

方法是IsValidDock(),只需检查数据库中的特定停靠点号并返回bool。

基本上我在

后面的代码中实例化查询

Dim SQLCommands As New SQLDataTableAdapters.SQLCommands()

我以为我可以通过

获取方法的属性

SQLCommands.IsValidDock()。一些属性。这不起作用,有什么想法吗?

2 个答案:

答案 0 :(得分:0)

TableAdapter是作为部分类生成的,因此您可以扩展该TableAdapter并为其中的适配器的连接属性添加正确的初始化。

希望这会有所帮助 海梅

答案 1 :(得分:0)

更好的问题,可能是,为什么你需要动态更改此连接?你能改变定义并将其称为一天吗?您有多个数据库服务器正在使用吗?连接字符串存储在项目的配置中,因此如果您需要在测试和生产环境中使用不同的连接,那么您可以只有两个配置文件。

假设这不是解决方案,请继续阅读......

如果我没记错的话,Visual Studio中XSD解析器吐出的SqlDataTableAdapter对象是SqlDataAdapter的子类,是不是(你可以通过右键单击对一个的引用并选择“Go”在Visual Studio中找到定义“)?如果是这样,你可以新建一个生成的类的实例(项目中应该有一个生成的.cs或.vb文件),并传递一个自定义的SqlConnection对象。

创建数据适配器后,没有用于更改数据适配器连接的接口。适配器在您执行任何需要它的操作时打开连接(调用Fill(),Insert()等),并且仅在释放SqlDataAdapter时关闭。