Usuário com melhor resposta
CONSULTA BANCO DE DADOS E RETORNA UM VALOR

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;
}}
}
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.
- Editado Roberson Naves sexta-feira, 13 de julho de 2012 19:33
- Sugerido como Resposta Roberson Naves sexta-feira, 13 de julho de 2012 20:41
- Marcado como Resposta Harley AraujoModerator quarta-feira, 18 de julho de 2012 14:08
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.
- Editado Roberson Naves sexta-feira, 13 de julho de 2012 19:33
- Sugerido como Resposta Roberson Naves sexta-feira, 13 de julho de 2012 20:41
- Marcado como Resposta Harley AraujoModerator quarta-feira, 18 de julho de 2012 14:08
-
@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/
-
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)