ユーザが(ログイン中にラジオボタンを使用して)選択すると、動的に接続文字列を切り替える必要があります。 接続文字列がありますが、それは問題ではありません。上記のためにapp.configに入ることはできません。強く型付けされたtableAdapterをフォームで指定する方法
これは、私はプログラム内で接続文字列を切り替えることができますフォーム内の強く型付けされたテーブルアダプタを見つけることができると私は思う。しかし、私はそれを見つけることができません。
私はこの記事を見て、役に立たなかったものを見ました。 C# Reflection. Set TableAdapter ConnectionString
これはどこですか?コントロールコレクションではなく、Me.GetType()。GetMethods()ではなく、Me.GetType()。GetPropertiesにはありません。
リクエストごとにいくつかのコードを追加しましたが、これはどの程度役立つかわかりません。これはログイン時に設定されます。
If frmPreferences.InProd Then
GConnectString = "DATA SOURCE=xxx;PASSWORD=" & Password & ";USER ID=" & userName & ";"
Else
GConnectString = "DATA SOURCE=xxx;PASSWORD=" & Password & ";USER ID=" & userName & ";"
End If
実行時に設定文字列を設定できる他のコードがありますが、それは各テーブルアダプターごとです。
Me.INSTITUTIONSTableAdapter.Connection.ConnectionString = GConnectString
Me.INVOICESTableAdapter.Connection.ConnectionString = GConnectString
その目的は、100以上のデータセットと500のフォームをリファクタリングすることではありません。データセットごとに小さな変更を加える必要がある場合は、すべてのデータセットを破棄し、誰かが提案したとおりにすべてをプログラムで実行することはできません(数年かかる)。
接続クラスを使用してください... – Codexer
接続を切り替えるコードを共有できますか? –
これに非常に類似したものが最近尋ねられましたが、イライラして見つけられません。ただし、デザイナーがフォームにデータを追加するのではなく、理想的にはデータアクセスレイヤーで、コードでデータセットとテーブルアダプタを作成することをお勧めします。そうすれば、テーブルアダプターの接続も簡単に変更できます。 – peterG