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

时间:2010-01-20 20:37:16

标签: asp.net string dynamic dataset connection

我有一个asp.net nTier应用程序。数据访问层是一个强类型的DataSet,由多个DataTable和DataAdapter组成。当用户登录时,他们选择要连接的数据库(来自成员资格数据库中的表)。我需要将选定的连接字符串传递给DataSet对象,对于那些用户,它们将保持不变,直到他们再次登录。

我认为答案可能是创建DataSet对象的部分类,我可以将连接字符串传递给构造函数。我不知道怎么回事。

干杯

2 个答案:

答案 0 :(得分:3)

您可以使用部分课程来完成此操作。

假设您输入的数据集名为HurrDurr:

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

只有在第一次访问Connection内部属性时为时才会初始化_connection。

答案 1 :(得分:3)

终于到了最底层。在一个新模块中,我为表适配器创建了一个部分类,这是我需要更改连接字符串的地方,我最初做的一个错误是没有指定正确的命名空间。

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

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

感谢Will的帮助,它让我朝着正确的方向前进。