Usuário com melhor resposta
Erro em aplicação c#

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) { } } }
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- Marcado como Resposta Robson William SilvaModerator quinta-feira, 20 de outubro de 2016 11:50
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".
-
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!
-
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".
-
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- Marcado como Resposta Robson William SilvaModerator quinta-feira, 20 de outubro de 2016 11:50