none
Problemas com crud *insert RRS feed

  • Pergunta

  • Olá pessoal, sou iniciante no mundo da programação e estou tendo  um problema. Estou fazendo um crud com sql server e c# ,sendo que o insert quando executo o programa não está funcionando e retorna uma mensagem dizendo que ( erro ao converter string em int32). Alguém pode me ajudar?! Obrigada.

     private void Salvar_Click(object sender, EventArgs e)
            {
                SqlConnection sqlCon = new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Crud;Data Source=Eu");
                SqlCommand comand = new SqlCommand("insert into tabela_cliente (id,nome,telefone,celular,email,endereco)values(@id,@nome,@telefone,@celular,@email,@endereco)", sqlCon);

                comand.Parameters.Add("@id", SqlDbType.Int).Value = txt_id.Text;
                comand.Parameters.Add("@nome", SqlDbType.VarChar).Value = txt_nome.Text;
                comand.Parameters.Add("@telefone", SqlDbType.VarChar).Value = telefone.Text;
                comand.Parameters.Add("@celular", SqlDbType.VarChar).Value = celular.Text;
                comand.Parameters.Add("@email", SqlDbType.VarChar).Value = txt_email.Text;
                comand.Parameters.Add("@endereco", SqlDbType.VarChar).Value = txt_end.Text;

                try
                {
                    sqlCon.Open();
                    comand.ExecuteNonQuery();
                    MessageBox.Show("Cadastro efetuado com secesso!");
                }

                catch( Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

                finally
                {
                    sqlCon.Close();
                }

    sábado, 14 de janeiro de 2017 18:04

Respostas

  • Boa tarde Nathy...

    Analizando o teu código pode se dar o caso que o campo id do cliente é do tipo int se assim for então ficaria:

    comand.Parameters.Add("@id", SqlDbType.Int).Value =int.Parse( txt_id.Text); Ou ainda

    comand.Parameters.Add("@id", SqlDbType.Int).Value =Convert.ToInt32( txt_id.Text); 

    Sei que resolverá o problema e se resolver o problema não te esqueça de marcar com resposta.

    • Sugerido como Resposta Angolano de Ouro sábado, 14 de janeiro de 2017 18:51
    • Marcado como Resposta Felipe1520 domingo, 15 de janeiro de 2017 16:20
    sábado, 14 de janeiro de 2017 18:51

Todas as Respostas

  • Boa tarde Nathy...

    Analizando o teu código pode se dar o caso que o campo id do cliente é do tipo int se assim for então ficaria:

    comand.Parameters.Add("@id", SqlDbType.Int).Value =int.Parse( txt_id.Text); Ou ainda

    comand.Parameters.Add("@id", SqlDbType.Int).Value =Convert.ToInt32( txt_id.Text); 

    Sei que resolverá o problema e se resolver o problema não te esqueça de marcar com resposta.

    • Sugerido como Resposta Angolano de Ouro sábado, 14 de janeiro de 2017 18:51
    • Marcado como Resposta Felipe1520 domingo, 15 de janeiro de 2017 16:20
    sábado, 14 de janeiro de 2017 18:51
  • Obrigada. Ajudou muito.
    domingo, 15 de janeiro de 2017 16:20