none
richTextbox recebendo mais de uma linha??? RRS feed

  • Pergunta

  • Olá pessoal

    Possuo um select sql que filtra os cargos e os beneficios que esse cargo possui, e através desse sql eu adiciono em um richtextbox os beneficios. Se o cargo possui apenas 1 beneficio, ai aparece no richtextbox o beneficio, mas quando o cargo possui mais de um beneficio, ai não aparece nada no richtextbox.

    Gostaria que listasse nesse richtextbox quando tiver 1 ou mais beneficios?

    Segue abaixo o meu código:

                        

                   string sqlBenPosto = "select p.cod_posto, c.nome_cargo, b.nome from posto_de_trabalho p inner join cargo c on c.cod_cargo = p.cod_cargo inner join relacao_beneficio_posto bp on p.cod_posto = bp.cod_posto inner join beneficios b on b.cod_beneficio = bp.cod_beneficio where cod_posto = " + tbcodPosto.Text;
                    OleDbCommand commBenPosto = new OleDbCommand(sqlBenPosto, conBD.conexao);
                    OleDbDataReader drBenPosto = commBenPosto.ExecuteReader();

                    while (drBenPosto.Read()) 
                    {
                      richTBen.Text  = drBenPosto["nome"].ToString(); 

                    }

    O que estou fazendo de errado????



    domingo, 2 de dezembro de 2012 12:45

Respostas

  • Só você apagar o texto antes de fazer outra consulta.

    ...

    richTBen.Text  = "";

    while (drBenPosto.Read()) 
                    {
                      //richTBen.Text  = richTBen.Text + "\n\r" +   drBenPosto["nome"].ToString(); 

                        richTBen.AppendText(drBenPosto["nome"].ToString() );                 

                         richTBen.AppendText(Environment.NewLine)

                     }

    • Marcado como Resposta Angelo C. Silva quinta-feira, 6 de dezembro de 2012 02:08
    quarta-feira, 5 de dezembro de 2012 01:21

Todas as Respostas

  • Cara, sua query está errada... Na parte do c# não há erros pelo que percebi..

    Refaça a Query..

    domingo, 2 de dezembro de 2012 13:56
  • acho que o problema não é a querry pois rodo a mesma no sql developer e ele mostra o resultado quando há mais de um beneficio cadastrado para a determinada vaga.

    O problema maior e saber como puxar pra dentro da richtextbos quando a mais de 1 beneficio para exibir na richtextbox.

    terça-feira, 4 de dezembro de 2012 03:26
  • Já tentou isso?

    ...

    while (drBenPosto.Read()) 
                    {
                      //richTBen.Text  = richTBen.Text + "\n\r" +   drBenPosto["nome"].ToString(); 

                        richTBen.AppendText(drBenPosto["nome"].ToString() );                 

                         richTBen.AppendText(Environment.NewLine)

                     }

    Talvez só esteja gravando a última linha e essa pode estar em branco.

    Boa sorte, abraço;


    terça-feira, 4 de dezembro de 2012 03:40
  • Cara até deu certo, ele ta carregando mais de um beneficio quando há, porém, andei fazendo uns testes e notei que se eu selecionar um cargo que possui um beneficio, e em seguida resolver selecionar outro cargo, a richtextbox mantem os beneficios anteriores e adiciona o beneficio do novo cargo selecionado.

    Por exemplo:

    eu selecionei o cargo programador que possui doi beneficios(alimentação e vale transporte), mas ai em seguida pensei, perai não era esse cargo que eu queria, fui lá e selecionei atendente que possui o beneficio alimentaçã.
    O que ocorreu é que a richtextbox manteve os dois beneficios do cargo programador quando eu selecionei o cargo de atendente, ou seja, fixou aliementação, vale transporte e alimentação de novo.

    terça-feira, 4 de dezembro de 2012 11:33
  • tentei zerar o richtextbox mas nem assim ele para de duplicar quando escolho os cargos.
    quarta-feira, 5 de dezembro de 2012 00:55
  • Só você apagar o texto antes de fazer outra consulta.

    ...

    richTBen.Text  = "";

    while (drBenPosto.Read()) 
                    {
                      //richTBen.Text  = richTBen.Text + "\n\r" +   drBenPosto["nome"].ToString(); 

                        richTBen.AppendText(drBenPosto["nome"].ToString() );                 

                         richTBen.AppendText(Environment.NewLine)

                     }

    • Marcado como Resposta Angelo C. Silva quinta-feira, 6 de dezembro de 2012 02:08
    quarta-feira, 5 de dezembro de 2012 01:21