Yo haría esto:
- use un
SqlConnectionStringBuilder
componente - defina cosas como el nombre del servidor, el nombre de la base de datos, etc. desde su
app.config
- ese componente también tiene dos propiedades para el nombre de usuario y la contraseña:rellénelas desde un cuadro de diálogo donde le pide al usuario esta información
- que SqlConnectionStringBuilder luego le da la cadena de conexión adecuada para usar para conectarse a su servidor SQL
Actualización:
Mi sugerencia sería almacenar la cadena de conexión básica de esta manera:
<configuration>
<connectionStrings>
<add name="MyConnStr"
connectionString="server=A9;database=MyDB;" />
</connectionStrings>
</configuration>
Luego cargue esta cadena de conexión "esquelética" (que está incompleta, ¡eso por sí solo no funcionará!) en su SqlConnectionStringBuilder
:
string myConnStr = ConfigurationManager.ConnectionStrings["MyConnStr"].ConnectionString;
SqlConnectionStringBuilder sqlcsb = new SqlConnectionStringBuilder(myConnStr);
Luego tome el nombre de usuario y la contraseña del usuario en un cuadro de diálogo y agréguelos al generador de cadenas de conexión:
sqlcsb.UserID = tbxUserName.Text.Trim();
sqlcsb.Password = tbxPassword.Text.Trim();
y luego obtenga la cadena de conexión completa resultante del SqlConnectionStringBuilder
:
string completeConnStr = sqlcsb.ConnectionString;
using(SqlConnection _con = new SqlConnection(completeConnStr))
{
// do whatever you need to do here....
}