Io farei questo:
- utilizzare un
SqlConnectionStringBuilder
componente - Definisci cose come il nome del server, il nome del database ecc. dal tuo
app.config
- quel componente ha anche due proprietà per nome utente e password:compila quelle da una finestra di dialogo in cui chiedi all'utente queste informazioni
- che SqlConnectionStringBuilder ti fornisce la stringa di connessione corretta da utilizzare per la connessione al tuo SQL Server
Aggiornamento:
Il mio suggerimento sarebbe di memorizzare la stringa di connessione di base in questo modo:
<configuration>
<connectionStrings>
<add name="MyConnStr"
connectionString="server=A9;database=MyDB;" />
</connectionStrings>
</configuration>
Quindi carica questa stringa di connessione "scheletro" (che è incompleta - quella da sola non funzionerà!) nel tuo SqlConnectionStringBuilder
:
string myConnStr = ConfigurationManager.ConnectionStrings["MyConnStr"].ConnectionString;
SqlConnectionStringBuilder sqlcsb = new SqlConnectionStringBuilder(myConnStr);
Quindi prendi il nome utente e la password dall'utente in una finestra di dialogo e aggiungili al generatore di stringhe di connessione:
sqlcsb.UserID = tbxUserName.Text.Trim();
sqlcsb.Password = tbxPassword.Text.Trim();
e quindi ottenere la stringa di connessione completa risultante da SqlConnectionStringBuilder
:
string completeConnStr = sqlcsb.ConnectionString;
using(SqlConnection _con = new SqlConnection(completeConnStr))
{
// do whatever you need to do here....
}