none
Mandar valor de coluna para variável do tipo decimal. C#, Mysql. RRS feed

  • Pergunta

  • comandoSQL.CommandText = "SELECT *, Sum(Pago) As Total From caixa cadastrado";

    Eu gostaria de mandar o valor da coluna "Total" do Select acima para uma variável do tipo decimal

    fazer uma soma desta variável obtida com o Select com outra variável e o resultado desta soma como sendo o valor de uma coluna em um Select

    por exemplo; "SELECT *, Total "' + vardec + ''' From caixa cadastrado"; 

    Visual Studio 2017 e Mysql



    sexta-feira, 27 de outubro de 2017 20:05

Todas as Respostas

  • Olá Rafael!

    Não tem muito segredo.. Primeiro você faz um ExecuteScalar para pegar o valor do somatório (primeiro SELECT) e joga o resultado em uma variável.. Depois você soma ela com a sua outra variável e utiliza o valor dela no segundo SELECT.. Ficaria mais ou menos assim:

                var outraVariavel = 12345.67m;
                var connectionString = "SUA_CONNECTION_STRING";
                using (var conexao = new MySqlConnection(connectionString))
                {
                    conexao.Open();
                    if (conexao.State == ConnectionState.Open)
                    {
                        decimal totalFinal;
                        using (var comandoSQL = new MySqlCommand())
                        {
                            comandoSQL.CommandText = "SELECT SUM(Pago) FROM caixa";
                            var total = Convert.ToDecimal(comandoSQL.ExecuteScalar());
                            totalFinal = total + outraVariavel;
                        }
    
                        using (var comandoSQL = new MySqlCommand())
                        {
                            comandoSQL.CommandText = "SELECT *, @TotalFinal AS Total FROM caixa";
                            comandoSQL.Parameters.AddWithValue("@TotalFinal", totalFinal);
                            using (var reader = comandoSQL.ExecuteReader())
                            {
                                // Aqui você teria o resultado do SELECT...
                            }
                        }
                    }
                }
    

    Abraço!


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    sexta-feira, 3 de novembro de 2017 07:55
    Moderador