2


0

ユーザーが実行時にログインページで異なるデータベース間で切り替えられるようにしたいです。

私は現在ConnectionStringを私のアプリ設定ファイルに保存しており、すべてのデータセットはこの設定を参照しています。

実行時にこの設定を変更しようとしましたが、これは不可能のようです。

これを行うための最良の方法は何ですか?

3 Answer


1


あなたの設定ファイルに2番目の接続文字列があるだけではありませんか? どのようなデータアクセスコードを設定しましたか?


1


http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.refreshsection.aspx [+ ConfigurationManager.RefreshSection +]を呼び出すことで、コードがディスクから接続文字列を取得するように強制できます。接続文字列の取得:

ConfigurationManager.RefreshSection("connectionStrings");
string connectionString = ConfigurationManager.ConnectionStrings["someConnection"].ConnectionString;


0


データベースは暗号化されていますか?

大量のプライバシーを必要とするものではない場合は、接続文字列をユーザーごとに格納できます。

例えば:

System.Properties.Default.MyConnectionString = "Blah"; System.Properties.Default.Save();

または

string myConnectionString = System.Properties.Default.MyConnectionString;

編集:これらはもともとプロジェクト - >プロパティ - >設定に行き、あなたがそれらを「ユーザー」スコープに入れることによってVSで設定することができます(アプリケーションスコープは実行時に私が間違えない限り読み取り専用です)。

編集2:以下のコメントについて:

SqlConnection myConnection = new SqlConnection();
//Set from a normal String saved in user's settings
myConnection.ConnectionString = System.Properties.Default.MyConnectionString; myConnection.Open();