Asp.net 强类型数据集的动态连接字符串

Asp.net 强类型数据集的动态连接字符串,asp.net,string,dynamic,dataset,connection,Asp.net,String,Dynamic,Dataset,Connection,我有一个asp.net nTier应用程序。数据访问层是一个强类型数据集,由多个带有数据适配器的数据表组成。当用户登录时,他们(从成员数据库中的表)选择要连接到的数据库。我需要将所选连接字符串传递到DataSet对象中,该对象在用户再次登录之前将保持不变 我认为答案可能是创建一个DataSet对象的部分类,在这个类中我可以将连接字符串传递给构造函数。不过我不知道该怎么做 干杯你可以通过部分课程来做到这一点 假设您的类型化数据集名为HurrDurr: public partial class Hu

我有一个asp.net nTier应用程序。数据访问层是一个强类型数据集,由多个带有数据适配器的数据表组成。当用户登录时,他们(从成员数据库中的表)选择要连接到的数据库。我需要将所选连接字符串传递到DataSet对象中,该对象在用户再次登录之前将保持不变

我认为答案可能是创建一个DataSet对象的部分类,在这个类中我可以将连接字符串传递给构造函数。不过我不知道该怎么做


干杯

你可以通过部分课程来做到这一点

假设您的类型化数据集名为HurrDurr:

public partial class HurrDurr
{
  public HurrDurr(string connex)
  {    
    this._connection = new global::System.Data.SqlClient.SqlConnection();
    this._connection.ConnectionString = connex;
  }
}

_只有在第一次访问连接内部属性时连接为null时,连接才会初始化。

最后讨论了这个问题。在一个新模块中,我为表适配器创建了一个分部类,在这里我需要更改连接字符串,我最初犯的一个错误是没有指定正确的名称空间

下面是我创建的部分类,它允许我动态更改一个名为tblOptions的表适配器的连接字符串:

Namespace ds1TableAdapters
    Partial Public Class tblOptionsTableAdapter
        Sub ChangeConnString(ByVal newConn As String)
            Me._connection.ConnectionString = newConn
        End Sub
    End Class
End Namespace

谢谢你的帮助,威尔,这让我走上了正确的方向。

威尔,我在vb.net中尝试了你的建议,但我遇到了一个错误:“错误33\u连接”不是DAL.ds1的成员”。知道我哪里出错了吗?@fly我不知道.ds1文件是什么。您可以查看由类型化数据集工具创建的代码(展开xsd并查看代码文件)。VB版本可能会用不同的变量名保存连接。对不起,我应该更清楚一些。DAL.ds1是指项目名称“DAL”和数据集名称“ds1”。“ds1”是从xsd生成的类,我假设这就是您所说的HurrDurr。查看代码后,我确实在表适配器中看到了一个_connection成员变量?这就是我创建分部类所需要的吗?您需要创建一个
公共分部类ds1
,并在构造函数中使用新的连接字符串创建一个SqlConnection,并将其分配给_connection。