C# で生成されたデータセットがあります。
接続文字列を変更して、データセットを別の (構造は同じであるが入力が異なる) データベースで使用できるようにするにはどうすればよいですか?
コンパイル時にサーバーまたはデータベース名がわからないため、これは実行時に発生する必要があります。私はc# 3.5を使用しています。
C# で生成されたデータセットがあります。
接続文字列を変更して、データセットを別の (構造は同じであるが入力が異なる) データベースで使用できるようにするにはどうすればよいですか?
コンパイル時にサーバーまたはデータベース名がわからないため、これは実行時に発生する必要があります。私はc# 3.5を使用しています。
簡単な方法はないと思います. Connection-String はすべてDataSet
に対して定義されているため、プログラムで全体を変更することはできませんTableAdapter
。
プロパティがあるTableAdapter
ため、接続文字列を変更するには、の部分クラスを作成する必要があります (DAL が別のアセンブリにある場合)。デザイナーでの次の変更後に自動的に再作成されるため、ファイルを変更しないでください。作成するには、DataSet を右クリックし、[コードを表示] を選択します。Connection
internal
designer.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
: