Usuário com melhor resposta
No overload for method 'ValidarConexao' takes 2 arguments

Pergunta
-
Pessoal, muito bom dia, boa noite ou até mesmo uma boa madrugada para os velhos garfanhotos!
estou com um problema no meu projeto em camadas. eu tenho um método do botão btn_entrar para logar no meu sistema
através do controle de acesso. nesse meu trecho de código, o erro apresentado está nos parametros que estou passando, mais o VS me diz que existe um overload "takes 2 arguments" meu trecho com erro é esse abaixo
==>> trecho do erro ==> if (Controladora.ValidarConexao(registroInterno.ConnectionString, ref resultado))
============== codigo na integra===============================
private void btn_entrar_Click(object sender, EventArgs e)
{
if (this.ValidarDadosConexao())
{
//registroInterno.Server = this.txtServidor.Text.Trim();
//registroInterno.Port = this.txtPorta.Text.Trim();
//registroInterno.Database = this.txtBanco.Text.Trim();
registroInterno.UserId = this.txt_login.Text.Trim();
registroInterno.Password = this.txt_senha.Text.Trim();
string resultado = string.Empty;
if (Controladora.ValidarConexao(registroInterno.ConnectionString, ref resultado))
{
registroInterno.ConexaoEstabelecida = true;
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE");
try
{
registryKey = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\CSA_SISTEMAS");
//registryKey.SetValue("Server", registroInterno.Server);
//registryKey.SetValue("Port", registroInterno.Port);
//registryKey.SetValue("Database", registroInterno.Database);
registryKey.SetValue("UserId", registroInterno.UserId);
registryKey.SetValue("Password", registroInterno.Password);
registryKey.Close();
Util.Informar("Conexão válida!");
this.Close();
Respostas
-
Seu método ValidarConexao só espera 1 (um) parâmetro, a string mensagem. Na sua chamada (código abaixo) você envia dois parâmetros.
if (Controladora.ValidarConexao(registroInterno.ConnectionString, ref resultado))
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Marcado como Resposta Sandro Developer quinta-feira, 8 de junho de 2017 13:00
-
Se você precisa passar um valor adicional como parâmetro para seu método/função, você precisa acrescentar este parâmetro na assinatura do método.
int Soma(int parametro1, int parametro2) //assinatura da função { return parametro1 + parametro2; } // Chamada de chamada Soma(2, 2);
Este exemplo não é em cima do seu código, mas apenas para lhe explicar como funciona a passagem de parâmetros para funções.
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Marcado como Resposta Sandro Developer quinta-feira, 8 de junho de 2017 13:54
Todas as Respostas
-
E qual o código do método ValidarConexao?
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
-
bom dia Juliano Nunes. segue o código do meu método ValidarConexao. esse meu método está na minha camada de controles.
======================= Camada de controles =============================
public class Controladora
{
private static NpgsqlConnection conexao = null;
public static bool ValidarConexao(ref string mensagem)
{
bool resultado = false;
if (conexao == null)
{
conexao = ConnectionPostgre.ConectarBDPostgre();
}
try
{
conexao.Open();
resultado = true;
conexao.Close();
}
catch (Exception ex)
{
mensagem = ex.Message + "\n" + ex.InnerException;
resultado = false;
}
return resultado;
}=================== fim validarconexão ============================
-
Seu método ValidarConexao só espera 1 (um) parâmetro, a string mensagem. Na sua chamada (código abaixo) você envia dois parâmetros.
if (Controladora.ValidarConexao(registroInterno.ConnectionString, ref resultado))
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Marcado como Resposta Sandro Developer quinta-feira, 8 de junho de 2017 13:00
-
sim. nesse caso, eu consegui resolver parte do proposto. colequei o codigo desse jeito
passei para o primeiro If a chamada do meu metodo, passando como parâmetro o (ref resultado)
string resultado = string.Empty;
if (Controladora.ValidarConexao(ref resultado))
agora eu preciso também passar o (registrointerno.ConnectionString)
nesse caso eu teria que criar outro "If" ?
segue também na íntegra minha outra camada de controle, nesse caso o RegistrarConexao.
{
public class RegistrarConexao
{
public RegistrarConexao() { }
//public string Server { get; set; }
//public string Port { get; set; }
//public string Database { get; set; }
public string UserId { get; set; }
public string Password { get; set; }
public bool ConexaoEstabelecida { get; set; }
public string ConnectionString
{
get
{
return string.Format("Server={0};Port={1};Database={2};User Id={3};Password={4};", this.UserId, this.Password);
}
}
}
} -
Se você precisa passar um valor adicional como parâmetro para seu método/função, você precisa acrescentar este parâmetro na assinatura do método.
int Soma(int parametro1, int parametro2) //assinatura da função { return parametro1 + parametro2; } // Chamada de chamada Soma(2, 2);
Este exemplo não é em cima do seu código, mas apenas para lhe explicar como funciona a passagem de parâmetros para funções.
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Marcado como Resposta Sandro Developer quinta-feira, 8 de junho de 2017 13:54
-