FORM COM DADOS DA CONEXAO

ROGERIOAZEVEDO 25/03/2013 13:32:37
#421002
Boa tarde.

Galera,

To criando uma aplicação onde os dados da conexão estão em uma classe com o nome conexao no entanto, caso o banco tenha um nome diferente, ou IP diferente vai ser tenso ter que alterar a classe para trocar de novo os dados da conexão. Eu vi em um programa recentemente, um FORM onde eram inseridos os dados da conexão, assim se as informações da conexão mudassem, era só mudar nesse FORM. Alguem pode me ajudar com essa situação?

Um forte abraço.
ROGERIOAZEVEDO 25/03/2013 13:53:06
#421005
Segue tela onde deverá ser inserido os dados da conexão.
KURTGU 25/03/2013 13:53:13
#421006
Cria um modulo com a conexao, e na string de conexao coloque as textbox ou o que vc vai usar...fica +- assim...

myconexao = New MySql.Data.MySqlClient.MySqlConnection([Ô]server=[Ô] & Txtserver.text & [Ô];user id=[Ô] & txtUsuario.text & [Ô];password=[Ô] & txtSenha.text & [Ô];database=[Ô] & txtDataBase.text)
ROGERIOAZEVEDO 25/03/2013 14:27:27
#421011
Tentei assim mas não deu certo...

private static string connString = ([Ô]Data Source =[Ô] & txbServidor.Text & [Ô] ; Initial Catalog=[Ô] & txbBanco.Text & [Ô]; User=[Ô] & txbUsuario.Text & [Ô]; Password=[Ô] & txbSenha.Text & [Ô]);

ele fica sublinhado as Textbox com o seguinte erro: [Ô]The name [ô]txbServidor[ô] does not exist in the current context[Ô]
LITTLEBOY 26/03/2013 11:16:46
#421055
Resposta escolhida
ROGERIOAZEVEDO nas propriedades da sua aplicação na aba settings crie opções para armazenar estas informações. Exemplo:



crie o form como mostrado por você acima e defina o evento salvar com seguinte codigo:
Citação:


Properties.Settings.Default.server=txtserver.text;
Properties.Settings.Default.database=txtdatabase.text;
Properties.Settings.Default.user=txtuser.text;
Properties.Settings.Default.password=txtpassword.text;

Properties.Settings.Default.Save();


desta forma sua conexão ficará salva no arquivo de configuração.
para usar os valores é só substituir os dados na string de conexão que você usa, pelo valor correspondente:
myconexao = New MySql.Data.MySqlClient.MySqlConnection([Ô]server=[Ô] &Properties.Settings.Default.server & [Ô];user id=[Ô] & Properties.Settings.Default.user & [Ô];password=[Ô] &Properties.Settings.Default.password & [Ô];database=[Ô] & Properties.Settings.Default.database)


outra solução seria você criar uma unica propriedade para armazenar toda a connectiobstring.
ROGERIOAZEVEDO 12/05/2013 23:45:47
#423358
Little Boa noite!

Resolvi fazer da seguinte forma...

Tenho um banco de dados: Banco_1 que contei as informações de usuários e outras 2 tabelas dentro desse banco que possuem dados para a conexão aos outros bancos.

Para acessar esse Banco_1 gostaria de fazer por um arquixo TXT, assim caso tenha alguma alteração no IP ou user e senha não preciso mexer no código.

Para acessar os demais bancos, Banco_2 e Banco_3, crie aquele form postado acima, ele se conecta no Banco_1 e escreve os dados nas tabelas, tipo IP, Banco, user e Senha. Assim posso alterar por ali tb os dados de conexão caso os mesmos sejam alterados.

Estou programando em C# Windowns Form e MS SQL 2008. Atualmente estou usando strings de conexão básica, criei 3 classes com os nomes Conexao_Banco1, Conexao_Banco2 e Conexao_Banco3, todas estão assim....

   class Conexao_Banco1
{
// vamos nos conectar ao SQL Server Express e à base de dados
private static string connString = ([Ô]Data Source= 192.168.0.52; Initial Catalog= Banco1; User= sa; Password= 1234[Ô]);


// representa a conexão com o banco
private static SqlConnection conn = null;

// método que permite obter a conexão
public static SqlConnection obterConexao()
{
// vamos criar a conexão
conn = new SqlConnection(connString);

// a conexão foi feita com sucesso?
try
{
// abre a conexão e a devolve ao chamador do método
conn.Open();
}
catch (SqlException sqle)
{
conn = null;

}

return conn;
}

public static void fecharConexao()
{
if (conn != null)
{
conn.Close();
}
}

}



Os forms que precisam se conectar nos bancos são chamados da seguinte forma...

  
//Busca os dados da conexão na classe
SqlConnection conn = Classe.Conexao_Banco1.obterConexao();


Quero alterar a classe Banco_1 para buscar os dados no arquivo de texto, e as classes Banco_2 e Banco_3 nas tabelas criadas no Banco_1. Não sei como criar essas classes, acho que para chamá-las será do mesmo jeito das atuais.

O que acha desse metodo que eu pensei? é ruim? é melhor manter os dados para conexão aos 3 bancos por arquivos de texto? Obrigado pelo apoio.
Tópico encerrado , respostas não são mais permitidas