none
Erro em aplicação c# RRS feed

  • Pergunta

  • Boa tarde, estou começando na linguagem, estou com alguns erros em uma aplicação que estou desenvolvendo para estudos:
    aparece essa mensagem ao apertar o botão para salvar: --> Referência de objeto não definida para uma instância de um objeto.

    Formulário de Cadastro de Funcionários
    segue código-->

    public partial class FrmFuncionariosCadastrar : Form
        {
            public FrmFuncionariosCadastrar()
            {
                InitializeComponent();
            }
    
            #region "Botões"
    
            private void tsbtnSalvar_Click(object sender, EventArgs e)
            {
                Salvar();
            }
    
            private void tsbtn_CancelarCadastro_Click(object sender, EventArgs e)
            {
                if (MessageBox.Show("Você tem certeza que deseja voltar e cancelar o cadastro?", "Mensagem do Sistema",
                    MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    this.Close();
                }
            }
    
            private void tsbtnVoltar_Click(object sender, EventArgs e)
            {
                this.Close();
            }
            #endregion "BOTÕES --> FIM "
    
            #region "Métodos"
            private void Salvar()
            {
                bool camposValidados = false;
    
                try
                {
                    SqlConnection objConexao = new SqlConnection(@"Data Source=POS-PC\SQLEXPRESS;Initial Catalog=CADASTRO_CLASSEA;Integrated Security=True");
    
                    string strConn = @"INSERT INTO FUNCIONARIO ([NOME], [CPF], [RG], [ENDERECO], [CIDADE], [UF], [TELEFONE_FIXO], [TELEFONE_RECADO], [TELEFONE_CELULAR], [DATA_ADMISSAO], [DATA_NASCIMENTO], [DATA_DEMISSAO] [EMAIL], [CARGO], [OBSERVACAO] )" +
                                       "VALUES (@NOME, @CPF, @RG, @ENDERECO, @CIDADE, @UF, @TELEFONE_FIXO, @TELEFONE_RECADO, @TELEFONE_CELULAR, @DATA_ADMISSAO, @DATA_NASCIMENTO, @DATA_DEMISSAO, @EMAIL, @CARGO, @OBSERVACAO)";
    
                    SqlCommand objCommand = new SqlCommand(strConn, objConexao);
    
    
                    #region "Validações dos Campos"
    
    
                    //Nome 
                    if (!String.IsNullOrEmpty(txtNome.Text))
                    {
                        objCommand.Parameters.AddWithValue("@NOME", txtNome.Text);
                        camposValidados = true;
                    }
                    else
                    {
                        epErro.SetError(txtNome, "O campo Nome é obrigatório!");
                        camposValidados = false;
                    }
    
                    //Cpf
                    if (!String.IsNullOrEmpty(txtCpf.Text))
                    {
                        objCommand.Parameters.AddWithValue("@CPF", txtCpf.Text);
                        camposValidados = true;
                    }
                    else
                    {
                        epErro.SetError(txtCpf, "O Campo CPF é obrigatório!");
                        camposValidados = false;
                    }
                    //Rg
                    if (!String.IsNullOrEmpty(txtRg.Text))
                    {
                        objCommand.Parameters.AddWithValue("@RG", txtRg.Text);
                        camposValidados = true;
                    }
                    else
                    {
                        epErro.SetError(txtRg, "o campo RG é obrigatório!");
                        camposValidados = false;
                    }
                    //Endereço
                    if (!String.IsNullOrEmpty(txtEndereco.Text))
                    {
                        objCommand.Parameters.AddWithValue("@ENDERECO", txtEndereco.Text);
                        camposValidados = true;
                    }
                    else
                    {
                        epErro.SetError(txtEndereco, "o campo Endereço é obrigatório!");
                        camposValidados = false;
                    }
                    //Cidade
                    //Uf
                    //Telefone Fixo
                    if (!String.IsNullOrEmpty(txtTelefoneFixo.Text))
                    {
                        objCommand.Parameters.AddWithValue("@TELEFONE_FIXO", txtTelefoneFixo.Text);
                        camposValidados = true;
                    }
                    //Telefone Recado
                    if (!String.IsNullOrEmpty(TxtTelRecado.Text))
                    {
                        objCommand.Parameters.AddWithValue("@TELEFONE_RECADO", TxtTelRecado.Text);
                        camposValidados = true;
                    }
                    //Telefone Celular
                    if (!String.IsNullOrEmpty(TxtTelCelular.Text))
                    {
                        objCommand.Parameters.AddWithValue("@TELEFONE_CELULAR", TxtTelCelular.Text);
                        camposValidados = true;
                    }
                    //Data Admissão
                    if (!String.IsNullOrEmpty(txtDataAdm.Text))
                    {
                        objCommand.Parameters.AddWithValue("@DATA_ADMISSAO", txtDataAdm.Text);
                        camposValidados = true;
                    }
                    //Data Nascimento
                    if (!String.IsNullOrEmpty(txtDataNascimento.Text))
                    {
                        objCommand.Parameters.AddWithValue("@DATA_NASCIMENTO", txtDataNascimento.Text);
                        camposValidados = true;
                    }
                    //E-mail
                    if (!String.IsNullOrEmpty(txtEmail.Text))
                    {
                        objCommand.Parameters.AddWithValue("@EMAIL", txtEmail.Text);
                        camposValidados = true;
                    }
                    //Cargo
                    if (!String.IsNullOrEmpty(txtCargo.Text))
                    {
                        objCommand.Parameters.AddWithValue("@CARGO", txtCargo.Text);
                        camposValidados = true;
                    }
                    //Observação
                    if (!String.IsNullOrEmpty(rtext_Obs.Text))
                    {
                        objCommand.Parameters.AddWithValue("@OBSERVACAO", rtext_Obs.Text);
                        camposValidados = true;
                    }
    
    
                    #endregion "Validações dos Campos"
    
                    //Verifico o retorno da variável camposValidados é true
                    if (camposValidados)
                    {
                        objConexao.Open();
    
                        objCommand.ExecuteNonQuery();
    
                        objConexao.Close();
    
                        MessageBox.Show("Registro inserido com sucesso!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
    
                        LimparCampos();
                        txtNome.Focus();
    
                        tsbtnVoltar.Enabled = true;
                    }
                    else
                    {
                        MessageBox.Show("Ops, ocorreram erros!\n\nPreencha os campos e tente novamente",
                            "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
    
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
    
            private void LimparCampos()
            {
               try
                {
                    txtNome.Text = string.Empty;
                    txtCpf.Text = string.Empty;
                    txtRg.Text = string.Empty;
                    txtEndereco.Text = string.Empty;
                    //falta cidade
                    //uf
                    txtTelefoneFixo.Text = string.Empty;
                    TxtTelRecado.Text = string.Empty;
                    TxtTelCelular.Text = string.Empty;
                    txtDataAdm.Text = string.Empty;
                    txtDataNascimento.Text = string.Empty;
                    txtEmail.Text = string.Empty;
                    txtCargo.Text = string.Empty;
                    rtext_Obs.Text = string.Empty;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            #endregion "Fim --> Métodos"
    
    
            private void FrmFuncionariosCadastrar_Load(object sender, EventArgs e)
            {
    
            }
    
            
        }
    }
    terça-feira, 18 de outubro de 2016 13:51

Respostas

  • O problema parece estar em sua string de conexão, não vi os dados para acesso com usuário e senha

    veja um exemplo 

    connectionString="Server=localhost,1433;Database=MeuBancoDados;User ID=sa;Password=123456"

    outro detalhe se me permite separe as coisa, o código do salvar é um emaranhado de tudo fazendo tudo, crie uma classe para validar os dados e só depois que tudo estive funcionando chame a classe que vai salvar os dados, só uma sugestão para ok?

    Se não conseguir achar o erro vá depurando seu código até chegar na linha com erro, fica mais fácil. Se quiser acompanhar um aqui

    Curso Gratis de Asp.Net MVC 4 com C# 

    pode ser que ajude.

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto 

    Visite : www.codigoexpresso.com.br

    terça-feira, 18 de outubro de 2016 18:53

Todas as Respostas

  • Em qual linha a exceção é disparada?

    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por um acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    terça-feira, 18 de outubro de 2016 14:02
  • Boa tarde Juliano, antes de tudo obrigado;

    o único erro que aparece ao dar o debug e em outro formulário, segue:

    private Sistema_CrudClientes.CADASTRO_TESTETableAdapters.(fUNCIONARIOTableAdapter)fUNCIONARIOTableAdapte

    o que eu coloquei dentro de () e aonde aparece que esta com erro!

    terça-feira, 18 de outubro de 2016 17:44
  • Tem alguma coisa estranha pois o código que você colocou em sua pergunta não faz referência ao que você citou sobre o debug.

    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    terça-feira, 18 de outubro de 2016 17:57
  • O problema parece estar em sua string de conexão, não vi os dados para acesso com usuário e senha

    veja um exemplo 

    connectionString="Server=localhost,1433;Database=MeuBancoDados;User ID=sa;Password=123456"

    outro detalhe se me permite separe as coisa, o código do salvar é um emaranhado de tudo fazendo tudo, crie uma classe para validar os dados e só depois que tudo estive funcionando chame a classe que vai salvar os dados, só uma sugestão para ok?

    Se não conseguir achar o erro vá depurando seu código até chegar na linha com erro, fica mais fácil. Se quiser acompanhar um aqui

    Curso Gratis de Asp.Net MVC 4 com C# 

    pode ser que ajude.

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto 

    Visite : www.codigoexpresso.com.br

    terça-feira, 18 de outubro de 2016 18:53