none
verificar se existe o ID antes de gravar RRS feed

  • Pergunta

  • Olá a todos/as,

    quero testar se existe algum registro como mesmo código id antes de inserir na tabela. se existir, ele vai ser atualizado, se não existir, vai ser inserido.

    Quando ele existe, ok, o processo continua, mas quando não existe, dá erro na linha onde eu testo se o dataset volta nulo...

    alguém sabe como testar isso?

    obrigado.

     string sql = " select id " +
                  " from tbl " +
                  " where id = " + TBx.Text.ToString();
    
    clsDados grl = new clsDados();
    DataSet dse = grl.RetornaDataSet(sql);
    if (dse.Tables[0] == null)
    {
         string a = "é nulo";
    }
    else
    {
    string IDgrava = dse.Tables[0].Rows[0]["id"].ToString();
    }

    segunda-feira, 25 de junho de 2012 21:30

Respostas

  • Olá Fernando,

    Testei com você sugeriu mas não funcionou. ele vai pro else direto.

    aí eu percebi que na verdade existe a table não existe conteúdo aí eu tentei desse jeito:

    if (dse.Tables[0].Rows.Count == 0)

    a tabela existe, mas não existem as linhas dentro dela, aí funcionou.

    de qualquer forma obrigado pela ajuda, sua sugestão me levou ao outro teste que funcionou.

    • Marcado como Resposta joaoluizbt terça-feira, 26 de junho de 2012 13:49
    terça-feira, 26 de junho de 2012 13:49

Todas as Respostas

  • Olá Joao, Tudo beleza?

    Testou assim?

    if (dse.Tables.Count == 0)
    {
         string a = "é nulo";
    }
    else
    {
    string IDgrava = dse.Tables[0].Rows[0]["id"].ToString();
    }

    []s!

    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique
    Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil

    segunda-feira, 25 de junho de 2012 22:03
    Moderador
  • Olá Fernando,

    Testei com você sugeriu mas não funcionou. ele vai pro else direto.

    aí eu percebi que na verdade existe a table não existe conteúdo aí eu tentei desse jeito:

    if (dse.Tables[0].Rows.Count == 0)

    a tabela existe, mas não existem as linhas dentro dela, aí funcionou.

    de qualquer forma obrigado pela ajuda, sua sugestão me levou ao outro teste que funcionou.

    • Marcado como Resposta joaoluizbt terça-feira, 26 de junho de 2012 13:49
    terça-feira, 26 de junho de 2012 13:49
  • Bom dia, o que seria :
    clsDados grl = new clsDados(); ???????????????
    domingo, 15 de novembro de 2015 13:17