Je ferais ceci :
- utiliser un
SqlConnectionStringBuilder
composant - définissez des choses comme le nom du serveur, le nom de la base de données, etc. à partir de votre
app.config
- ce composant a également deux propriétés pour le nom d'utilisateur et le mot de passe - remplissez celles d'une boîte de dialogue où vous invitez l'utilisateur à fournir ces informations
- que SqlConnectionStringBuilder vous donne alors la chaîne de connexion appropriée à utiliser pour vous connecter à votre serveur SQL
Mise à jour :
Ma suggestion serait de stocker la chaîne de connexion de base comme ceci :
<configuration>
<connectionStrings>
<add name="MyConnStr"
connectionString="server=A9;database=MyDB;" />
</connectionStrings>
</configuration>
Chargez ensuite cette chaîne de connexion "squelette" (qui est incomplète - elle seule ne fonctionnera pas !) dans votre SqlConnectionStringBuilder
:
string myConnStr = ConfigurationManager.ConnectionStrings["MyConnStr"].ConnectionString;
SqlConnectionStringBuilder sqlcsb = new SqlConnectionStringBuilder(myConnStr);
Saisissez ensuite le nom d'utilisateur et le mot de passe de l'utilisateur dans une boîte de dialogue et ajoutez-les au générateur de chaîne de connexion :
sqlcsb.UserID = tbxUserName.Text.Trim();
sqlcsb.Password = tbxPassword.Text.Trim();
puis obtenez la chaîne de connexion complète résultante à partir du SqlConnectionStringBuilder
:
string completeConnStr = sqlcsb.ConnectionString;
using(SqlConnection _con = new SqlConnection(completeConnStr))
{
// do whatever you need to do here....
}