Foros del Web » Programación para mayores de 30 ;) » .NET »

Form para connection strings?

Estas en el tema de Form para connection strings? en el foro de .NET en Foros del Web. Hola a todos. Requiero el código para hacer un formulario donde se pueda agregar los datos de conexion a la base de datos, tales como ...
  #1 (permalink)  
Antiguo 08/04/2008, 09:28
 
Fecha de Ingreso: diciembre-2007
Mensajes: 35
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Form para connection strings?

Hola a todos.



Requiero el código para hacer un formulario donde se pueda agregar los datos de conexion a la base de datos, tales como Nombre Servidor, Nombre Base de Datos, Usuario y Password.



Buscando en la internet consigui el siguiente link, donde hace lo que quiero pero en VB.NET y lo necesito en C#:

http://www.codeproject.com/KB/dotnet/Change_AppConfig_File.aspx


Por favor si alguien me puede ayudar se lo agradezco.



Gracias.
  #2 (permalink)  
Antiguo 08/04/2008, 09:32
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Form para connection strings?

Tu lo puedes hacer con un Configuration Manager y el manejo de strings para separar los datos y asi puedas administrar tu configuracion en app.configo web.config
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 08/04/2008, 09:58
 
Fecha de Ingreso: diciembre-2007
Mensajes: 35
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Form para connection strings?

Pero es que necesito agregar la información por un formulario.
  #4 (permalink)  
Antiguo 08/04/2008, 10:15
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Form para connection strings?

por eso create tu formulario con algunos textbox

txtUsuario
txtDatabase
txtPassword
txtServidor


y despues usando un objeto ConfigurationManager (recuerda agregar la referencia a System.Configuration)

string conexion = ConfigurationManager.ConnectionStrings["conexion"].ConnectionString;

miconexion="User Id="+txtusuario.text+"; Password="txtpassword.text......
ConfigurationManager.ConnectionStrings["conexion"].ConnectionString=miconexion;
conexion lo modificas usando Regex o a mano creandolo
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 08/04/2008, 10:23
 
Fecha de Ingreso: diciembre-2007
Mensajes: 35
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Form para connection strings?

ok lo voy a probar y te digo a ver que tal!!!

Gracias.
  #6 (permalink)  
Antiguo 08/04/2008, 10:33
 
Fecha de Ingreso: diciembre-2007
Mensajes: 35
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Form para connection strings?

Disculpa otra cosa, es un formulario para aplicaciones Windows...

No me aparece el ConfigurationManager... Creo que es por que lo estoy haciendo en Aplicaciones Windows.
  #7 (permalink)  
Antiguo 08/04/2008, 10:55
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Form para connection strings?

Claro q si solo en tu proyecto agrega la referencia a System.Configuration
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #8 (permalink)  
Antiguo 08/04/2008, 12:40
 
Fecha de Ingreso: febrero-2008
Mensajes: 74
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Form para connection strings?

Hola!

Como te ha dicho peter está bien pensado, pero te doy un consejo pon @:

miconexion=@"User Id="+txtusuario.text+@"; Password="txtpassword.text.

A mi me dió error por eso te lo aconsejo que lo pongas.

Un saludo
  #9 (permalink)  
Antiguo 08/04/2008, 13:34
 
Fecha de Ingreso: diciembre-2007
Mensajes: 35
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Form para connection strings?

Debo agregar algo en el app.config?

Al compilarlo me esta dando un error en la siguiente linea:

System.Configuration.ConfigurationManager.Connecti onStrings["conexion"].ConnectionString = miconexion;

Mensaje del error: Referencia a objeto no establecida como instancia de un objeto.

Ayuda!!!
  #10 (permalink)  
Antiguo 08/04/2008, 13:38
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Form para connection strings?

si porq no lo has creado aun

System.Configuration.ConfigurationManager.Connecti onStrings.Add(new ConnectionStringSettings(nombre, cadenaconexion));

primero la creas y si existe


System.Configuration.ConfigurationManager.Connecti onStrings["conexion"].ConnectionString = miconexion; entocnes la actualizas

debes pensar en los 2 casos, el primero cuando generas la cadena y cuando la actualizas q ya sabes q se llama conexion o como le pongas.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #11 (permalink)  
Antiguo 08/04/2008, 14:44
 
Fecha de Ingreso: diciembre-2007
Mensajes: 35
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Form para connection strings?

Ok. lo hice de la siguiente manera:

string miconexion = @"User Id=" + txtUI.Text + @"; Password=" + txtPwd.Text + @";Server=" + txtServer.Text + @";Database=" + txtDatabase.Text + @"";

ConnectionStringSettings ConnStringSettings = new ConnectionStringSettings ();
ConfigurationManager.ConnectionStrings["strConn"].ConnectionString = miconexion;

y en el app.config coloque el siguiente codigo:

<connectionStrings>
<add name="strConn" connectionString="Server=nameServer;Database=nameD B;User ID=sa;Password=sa;Trusted_Connection=False;"
providerName="System.Data.SqlClient" />
</connectionStrings>

Y me da un error. Mensaje: La configuración es de sólo lectura.

Como puedo resolver?..
  #12 (permalink)  
Antiguo 08/04/2008, 14:47
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Form para connection strings?

no lo hagas asi, pruebalo con la linea de Add q te mande

System.Configuration.ConfigurationManager.Connecti onStrings.Add(new ConnectionStringSettings(nombredetucadenaenwebconf ig, cadenaconexion));


y no agregues antes una cadena con el mismo nombre si no chocaran
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #13 (permalink)  
Antiguo 08/04/2008, 14:49
 
Fecha de Ingreso: diciembre-2007
Mensajes: 35
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Form para connection strings?

ok, pero tengo confusion con respecto a el nombre y la cadena. Eso no lo entiendo, que va alli?
  #14 (permalink)  
Antiguo 08/04/2008, 15:03
 
Fecha de Ingreso: diciembre-2007
Mensajes: 35
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Form para connection strings?

Como puedes ver la cadena en mi app.config se llama strConn y la cadema se llama miconexion, estoy colocando ambos y me da error.

lo coloque de la siguiente manera:
string conexion = System.Configuration.ConfigurationManager.Connecti onStrings.Add(new ConnectionStringSettings(strConn,miconexion));
  #15 (permalink)  
Antiguo 08/04/2008, 15:10
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Form para connection strings?

asi

System.Configuration.ConfigurationManager.Connecti onStrings.Add(new ConnectionStringSettings("strConn",miconexion));
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #16 (permalink)  
Antiguo 08/04/2008, 15:17
 
Fecha de Ingreso: diciembre-2007
Mensajes: 35
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Form para connection strings?

Para este caso tambien me da el mensaje de que la configuracion es de solo lectura...

Como se hace en estos casos?
  #17 (permalink)  
Antiguo 08/04/2008, 15:32
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Form para connection strings?

config.ConnectionStrings.ConnectionStrings("servic eMasterConnectionString").ConnectionString = "new connection string"
config.Save()
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #18 (permalink)  
Antiguo 08/04/2008, 15:35
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Form para connection strings?

Disculpa antes de seguir poniendo codigo pregunta

1.- estas integrando esta forma en tu solucion o
2.- estas haciendo una aplicacion para modificar el App.Config por fuera
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #19 (permalink)  
Antiguo 08/04/2008, 15:41
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Re: Form para connection strings?

Al no ser web (sorry si no me fije en ello)

lo q te queda es leer y modificar el xml por tu cuenta

public void UpdateKey(string strKey, string newValue)
{
if (!KeyExists(strKey))
throw new ArgumentNullException("La llave", "<" + strKey +
"> No existe en la configuracion de la aplicacion.");
XmlNode appSettingsNode =
xmlDoc.SelectSingleNode("configuration/appSettings");
// Attempt to locate the requested setting.
foreach (XmlNode childNode in appSettingsNode)
{
if (childNode.Attributes["key"].Value == strKey)
childNode.Attributes["value"].Value = newValue;
}
xmlDoc.Save(AppDomain.CurrentDomain.BaseDirectory +
"..\\..\\App.config");
xmlDoc.Save(AppDomain.CurrentDomain.SetupInformati on.ConfigurationFile);
}

algo asi

pero vas a tener q modificar el xml a mano
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:57.