在使用Dataset+TableAdapter 结构时,因为table是从数据库中拖过来的,有一个默认的数据库连接。在调用 TableAdapter 的增删改查操作时,是针对的那个默认数据库。如果部署到不同的数据库上时要修改Settings.settings链接后再重新编译才能发布,这样web.config就成没用的了。那么这个问题怎么解决哪?

解决方案 »

  1.   

    这样写
    SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.
            ConnectionStrings["ConnectionStringName"].ToString());
      

  2.   

    在哪里写?
    TableAdapter 没有被赋予新链接的接口。
      

  3.   

    如果修改 TableAdapter 的 InitConnection 方法的话,增减数据表的时候又会被改回去。
      

  4.   

    也只有这么写了。[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    private void InitConnection() {
    this._connection = new global::System.Data.SqlClient.SqlConnection();
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.IConfigurationSource source = Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceFactory.Create();
    this._connection.ConnectionString = Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings.GetDatabaseSettings(source).DefaultDatabase;
    }