私ならこうします:
SqlConnectionStringBuilder
コンポーネントapp.config
からサーバー名、データベース名などを定義します- このコンポーネントには、ユーザー名とパスワードの 2 つのプロパティもあります。これらのプロパティは、ユーザーにこの情報の入力を求めるダイアログ ボックスから入力してください
- その SqlConnectionStringBuilder は、SQL Server への接続に使用する適切な接続文字列を提供します
更新:
私の提案は、基本的な接続文字列を次のように保存することです:
<configuration>
<connectionStrings>
<add name="MyConnStr"
connectionString="server=A9;database=MyDB;" />
</connectionStrings>
</configuration>
次に、この「スケルトン」接続文字列 (不完全です。それだけでは機能しません!) を SqlConnectionStringBuilder
にロードします。 :
string myConnStr = ConfigurationManager.ConnectionStrings["MyConnStr"].ConnectionString;
SqlConnectionStringBuilder sqlcsb = new SqlConnectionStringBuilder(myConnStr);
次に、ダイアログ ボックスでユーザーからユーザー名とパスワードを取得し、それらを接続文字列ビルダーに追加します。
sqlcsb.UserID = tbxUserName.Text.Trim();
sqlcsb.Password = tbxPassword.Text.Trim();
SqlConnectionStringBuilder
から結果の完全な接続文字列を取得します。 :
string completeConnStr = sqlcsb.ConnectionString;
using(SqlConnection _con = new SqlConnection(completeConnStr))
{
// do whatever you need to do here....
}