代码之家  ›  专栏  ›  技术社区  ›  SausageFingers

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

  •  6
  • SausageFingers  · 技术社区  · 16 年前

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

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

    干杯

    2 回复  |  直到 16 年前
        1
  •  3
  •   Will    16 年前

    你可以用分部类来实现。

    假设您的类型化数据集称为hurrdur:

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

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

        2
  •  3
  •   SausageFingers    16 年前

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

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

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

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

    推荐文章