0

C# で生成されたデータセットがあります。

接続文字列を変更して、データセットを別の (構造は同じであるが入力が異なる) データベースで使用できるようにするにはどうすればよいですか?

コンパイル時にサーバーまたはデータベース名がわからないため、これは実行時に発生する必要があります。私はc# 3.5を使用しています。

4

2 に答える 2

0

簡単な方法はないと思います. Connection-String はすべてDataSetに対して定義されているため、プログラムで全体を変更することはできませんTableAdapter

プロパティがあるTableAdapterため、接続文字列を変更するには、の部分クラスを作成する必要があります (DAL が別のアセンブリにある場合)。デザイナーでの次の変更後に自動的に再作成されるため、ファイルを変更しないでください。作成するには、DataSet を右クリックし、[コードを表示] を選択します。Connectioninternaldesigner.cs

TableAdapter例 ( の名前が であると仮定ProductTableAdapter):

namespace WindowsFormsApplication1.DataSet1TableAdapters
{
    public partial class ProductTableAdapter 
    {
        public string ConnectionString {
            get { return Connection.ConnectionString; }
            set { Connection.ConnectionString = value; }
        }
    }
}

これで、簡単に変更できます。

var productTableAdapter = new DataSet1TableAdapters.ProductTableAdapter();
productTableAdapter.ConnectionString = someOtherConnectionString;

これが私のサンプルDataSetと作成されたファイルのスクリーンショットですDataSet1.cs:

ここに画像の説明を入力

于 2013-07-13T12:22:51.930 に答える