none
Verificando se tabela de dataset tem informação desejada. RRS feed

  • Pergunta

  • Estou querendo saber se meu dataset contem certa informação, caso sim ele responde de um jeito, caso não, responda de outra. estou fazendo desse jeito como mostro abaixo, mas não está funcionando. quem puder me ajudar eu irei agradecer muito, estou precisando pra um trabalho importante...

    dtSet = new DataSet();
                conexao = new MySqlConnection("Persist Security Info=false; server=localhost; database=cacambas; uid=root");
                conexao.Open();
                comando = new MySqlCommand();
                comando.Connection = conexao;
                comando.CommandType = CommandType.Text;

                adaptador = new MySqlDataAdapter("select empresa_nome from empresas where  empresa_nome= '" + txtPesquisar.Text + "';", conexao); //criando um obj na memoria e colocando o comando mysql
                adaptador.Fill(dtSet, "empresas");

                if (dtSet.Tables[0].Columns[0].ToString() == ""+ txtPesquisar.Text +"")
                {
                    MessageBox.Show("Essa empresa ja foi cadastrada.");
                }
                else
                {
                    MessageBox.Show("Essa empresa ainda nao foi cadastrada. Deseja fazer o cadastro agora?");
                }

    sexta-feira, 12 de agosto de 2016 08:15

Respostas

Todas as Respostas

  • Bom dia guilhermetgsm,

    Obrigado por sua participação no Fórum MSDN.

    Parece que você está tentando comparar um campo .Text com uma string:

    " if (dtSet.Tables[0].Columns[0].ToString() == ""+ txtPesquisar.Text +"") "

    Tente passar o "txt.Pesquisar.Text" para uma string e aí comparar com "dtSet.Tables[0].Columns[0].ToString()"

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 12 de agosto de 2016 14:34
    Moderador
  • Muito obrigado pela dica, mas já tentei fazer isso e continua no mesmo erro! até acha a informação, mas não está absorvendo...

    sexta-feira, 12 de agosto de 2016 23:22
  • Bom dia guilhermetgsm,

    E qual é o erro?

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 15 de agosto de 2016 12:38
    Moderador
  • Coloque um Breakpoint nessa área "dtSet.Tables[0].Columns[0].ToString() " e veja o valor que esta trazendo

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    terça-feira, 16 de agosto de 2016 12:15
  • Olá Guilherme!

    Essa sua condição não está fazendo muito sentido.. A propriedade Columns[] vai retornar a DataColumn, e não o valor que foi lido do banco.. Se você está querendo saber qual valor foi retornado do banco, você precisa utilizar a propriedade Rows:

    var empresaRetornada = dtSet.Tables[0].Rows[0][0].ToString();


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

    terça-feira, 16 de agosto de 2016 14:16
    Moderador