none
CONSULTA BANCO DE DADOS E RETORNA UM VALOR RRS feed

  • Pergunta

  • Amigos, estou com uma dificuldade nesse seguinte código, onde tenho um campo do tipo bit(sim/nao), onde, se o campo estiver "TRUE", MOSTRA TELA VERMELHA, SE O CAMPO TIVER FALSE MOSTRA A TELA VERDE. só que não está funcioando nem por reza brava!!!. Alguem pode me dar uma ajudinha?

    public void VerificaOcorrencia()
            {
                bool S = true;
                bool n = false;


                string query = "SELECT Motoristas.Id, MotoristasOcorrencias.Id_OcorrenciaMotorista, MotoristasOcorrencias.Id_OcorrenciaStatus FROM (Motoristas INNER JOIN MotoristasOcorrencias ON Motoristas.Id = MotoristasOcorrencias.Id_OcorrenciaMotorista) WHERE (MotoristasOcorrencias.Id_OcorrenciaStatus = 'true') OR (MotoristasOcorrencias.Id_OcorrenciaStatus = 'false') ORDER BY Motoristas.Id, MotoristasOcorrencias.Id_OcorrenciaMotorista";
                OleDbCommand cmd = new OleDbCommand(query, cnn);

              cmd.Parameters.AddWithValue("@MotoristasOcorrenciasStatus.Impeditivo", OleDbType.Boolean);
                OleDbDataReader dr = cmd.ExecuteReader();

             if (dr.Read())
                {
                    if (dr["MotoristasOcorrenciasStatus.Impeditivo"].ToString() == "True")
                    {
                        label1.BackColor = Color.Red;
                    }
                    else
                    {
                        label1.BackColor = Color.LimeGreen;
                    }

                }
            }

    sexta-feira, 13 de julho de 2012 17:55

Respostas

  • Nelson, boa tarde...

    Se você estiver realizando essa consulta no SQL Server, o campo BIT armazena 1 para verdadeiro e 0 para falso.

    Na consulta, compare seu campo BIT com 1 e 0, e não 'true' e 'false'.

    Espero ter ajudado !!

    Abraço !


    Não esqueça de marcar o post como útil caso tenha te ajudado.



    sexta-feira, 13 de julho de 2012 19:26

Todas as Respostas

  • Nelson, boa tarde...

    Se você estiver realizando essa consulta no SQL Server, o campo BIT armazena 1 para verdadeiro e 0 para falso.

    Na consulta, compare seu campo BIT com 1 e 0, e não 'true' e 'false'.

    Espero ter ajudado !!

    Abraço !


    Não esqueça de marcar o post como útil caso tenha te ajudado.



    sexta-feira, 13 de julho de 2012 19:26
  • @Nelson

    Segue a dica do Roberson, acho que a solucao do teu problema.

    Acho que voce nao rezou bastante cara, pela proxima zera mais nates de perguntar.

    Apenas uma pergunta, porque tens estas duas variaveis bool no teu codigo e nao vejo o uso delas:

     bool S = true;
                bool n = false;?


    http://malange-levi.blogspot.co.uk/

    sábado, 14 de julho de 2012 12:07
    Moderador
  • Ta exibindo erro de que?

    Em que linha?

    Então,se existir mais de um registro normalmente vai dar erro mesmo,o DataReader não suporta múltiplas linhas.

    como está a estrutura da tabela? o campo Id_ocorrenciaStatus é booleano? (true,false) ou se é string ou int por ser (0/1)


    Microsoft Technology Associate (MTA)

    sábado, 14 de julho de 2012 15:16