Array
(
)

Como alterar uma string de conexão por uma textbox

Sigrids Lima
   - 18 jul 2012

Olá pessoal como posso alterar uma string de conexão por uma textbox.
Vou explicar o cenário
Tenho uma aplicação com banco sql server 2008, ela funciona em rede, a aplicação em rede necessito de alterar a string de conexao, como posso alterar somente o ip da string:
Data Source=192.168.100.171\SQLEXPRESS;Initial Catalog=dados;Persist Security Info=True;User ID=cliente;Password=123456
no caso seria so o ip 192.168.100.171.
Obrigado

Valter Furtado
   - 19 jul 2012

Essa string fica em um arquivo tipo txt, ini, xml??

Se não ficar, você só vai conseguir mudar essa connection em um editor externo e compilar a aplicação de novo.

No arquivo externo (txt,ini,xml...) você vai ler o arquivo, mostrar no textbox e salvar no arquivo de novo.

Sigrids Lima
   - 19 jul 2012

Ela se encontra no app.config, e dentro de um form de loguin que criei.

Joel Rodrigues
   - 19 jul 2012

Tente usar o ConfigurationManager. Pesquise a respeito.

Sigrids Lima
   - 19 jul 2012

Serie um exemplo mais ou menos assim, mas queria mesmo so alterar a string

http://imasters.com.br/artigo/20503/c-sharp/windows-forms-application-alterando-arquivo-de-configuracao-dinamicamente

Teria por este codigo melhorar?

Sigrids Lima
   - 20 jul 2012

Entao conseguir alterar o app.config em tempo de execução assim:

InitializeComponent();

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings[NomeString].ConnectionString =
@Data Source=.\SQLExpress;Initial Catalog=SeuBanco;Integrated Security=true;; config.Save(ConfigurationSaveMode.Full);

// ler novamente a seção do HD
ConfigurationManager.RefreshSection(connectionStrings);

Porem gostaria por uma textbox digitando o ip alteraria a string:

@Data Source=IP_SERVIDOR\SQLExpress;Initial Catalog=SeuBanco;Integrated Security=true;;

ATE

Joel Rodrigues
   - 20 jul 2012

Very good, usou mesmo o ConfigurationManager, né?
Boa sorte.
Estou fechando o tópico.