none
Não cadastra no Banco - SQL RRS feed

  • Pergunta

  • Pessoal, segue abaixo o meu código para cadastro de uma solicitação no meu banco que esta configurado, só que ao preencher os dados sempre cai  else que criei falando que não foi possível cadastrar e não cadastra nada. 

    Segue código abaixo.

            public bool addsolicitacao()
            {
    
                string Query;
                try
                {
                    Query = "Insert into dbo.Solicitacao";
                    Query += ("(cliente,qtde_solicitada,rua)");
                    Query += "Values ";
                    Query += ("('" + Cliente_frota + "'," + Qtde_solicitada.ToString() + ", '" + Rua + "')");
                 
    
                    Conexao Connection = new Conexao();
                    Connection.QueryNon(Query);
    
                    return (typeof(int) != Connection.QueryScalar(Query).GetType());
    
                }
                catch
                {
                    return false;
                }

    E abaixo o cósigo do botão cadastrar

    private void toolStripButton1_Click(object sender, EventArgs e)
                {
                    SplashScreenManager.ShowForm(typeof(ucCarregando));
    
                    Classes.Solicitacao solicitacao = new Classes.Solicitacao();
    
                    solicitacao.Cliente_frota = txtCliente_Frota.Text;
                    solicitacao.Rua = txtLogradouro.Text;
                    solicitacao.Qtde_solicitada = int.Parse(txtQuantidade_Solicitada.Text);
    
                    if (solicitacao.addsolicitacao()) //Adiciona a solicitação
                    {
                        Funcoes.Funcoes funcoes = new Funcoes.Funcoes();
                        SplashScreenManager.CloseForm();
                        MessageBox.Show("Usuário cadastrado com sucesso! Um e-mail de Boas Vindas foi enviado para");
                        funcoes.Limpar(this);
                    }
                    else
                    {
                        SplashScreenManager.CloseForm();
                        MessageBox.Show("Não foi possível cadastrar a solicitação");
                    }
                }

    Alguém me da uma luz por favor kkkkk

    Grato desde já.



    sexta-feira, 27 de março de 2015 05:21

Respostas

  • Bom dia Gabriel,

    Os dados que a sua aplicação está enviando para o INSERT está respeitando os tipos dos dados no BD? Está retornando alguma mensagem de erro ou o seu método retorna FALSE e cai no ELSE?

    No bloco TRY...CATCH, experimente fazer da seguinte maneira para recuperar uma possível mensagem de erro.

     public bool addsolicitacao()
            {
    
                string Query;
                try
                {
                    Query = "Insert into dbo.Solicitacao";
                    Query += ("(cliente,qtde_solicitada,rua)");
                    Query += "Values ";
                    Query += ("('" + Cliente_frota + "'," + Qtde_solicitada.ToString() + ", '" + Rua + "')");
                 
    
                    Conexao Connection = new Conexao();
                    Connection.QueryNon(Query);
    
                    return (typeof(int) != Connection.QueryScalar(Query).GetType());
    
                }
                catch (Exception ex)
                {
                    // Exiba aqui a mensagem de erro para o maior detalhamento.
                    return false;
                }

    Abs.

    Bruno Destro


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx

    sexta-feira, 27 de março de 2015 10:55

Todas as Respostas

  • Bom dia Gabriel,

    Os dados que a sua aplicação está enviando para o INSERT está respeitando os tipos dos dados no BD? Está retornando alguma mensagem de erro ou o seu método retorna FALSE e cai no ELSE?

    No bloco TRY...CATCH, experimente fazer da seguinte maneira para recuperar uma possível mensagem de erro.

     public bool addsolicitacao()
            {
    
                string Query;
                try
                {
                    Query = "Insert into dbo.Solicitacao";
                    Query += ("(cliente,qtde_solicitada,rua)");
                    Query += "Values ";
                    Query += ("('" + Cliente_frota + "'," + Qtde_solicitada.ToString() + ", '" + Rua + "')");
                 
    
                    Conexao Connection = new Conexao();
                    Connection.QueryNon(Query);
    
                    return (typeof(int) != Connection.QueryScalar(Query).GetType());
    
                }
                catch (Exception ex)
                {
                    // Exiba aqui a mensagem de erro para o maior detalhamento.
                    return false;
                }

    Abs.

    Bruno Destro


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx

    sexta-feira, 27 de março de 2015 10:55
  • Bom dia Gabriel,

    Marquei a resposta do Bruno, pois ele lhe propôs uma boa maneira para gerenciar e verificar os possíveis erros que possam ocorrer no seu programa. Caso não tenha solucionado ainda, desmarque a resposta e nos envie mais detalhes que continuaremos ajudando.

    Obrigado,

    Abraço!


    Eduardo Romero

    Esse conteudo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais facil para os outros visitantes encontrarem a resolucao mais tarde.

    segunda-feira, 30 de março de 2015 12:39
    Moderador
  • Bruno, bom dia!

                 

    public bool addsolicitacao()
            {

                string Query;
                try
                {
                    Query = "Insert into dbo.Solicitacao";
                    Query += ("(cliente,qtde_solicitada,rua)");
                    Query += "Values ";
                    Query += ("('" + Cliente_frota + "'," + Qtde_solicitada.ToString() + ", '" + Rua + "')");


                    Conexao Connection = new Conexao();
                    Connection.QueryNon(Query);

                    return (typeof(int) != Connection.QueryScalar(Query).GetType());

                }
                catch (SqlException ex)
                {
    throw new Exception(ex.Number.ToString() + ", " + ex.Message  + ", " + ex.InnerException);
                }
                catch (Exception ex)
                {
                    // Exiba aqui a mensagem de erro para o maior detalhamento.
                    return false;
                }

    Inclua o SqlException assim consegue pegar o erro sql!


    Att,
    André Rodrigues Côrte
    Analista de Sistema
    Côrte Solutions
    Grupo de Estudo C# Facebook
    Canal de Estudo Youtube

    segunda-feira, 30 de março de 2015 13:05