none
Erro ao receber xml The column does not belong to the table RRS feed

  • Pergunta

  • Olá... tudo bem?

    quando eu recebo o xml através do código.

    foreach(DataRow rw in xmlDS.Tables[0].Rows)
    {
     info.ID = Convert.ToInt32(rw["Id"];					             info.IdentiEmpresa = Convert.ToInt32(rw["IdEmpresa"]);
    info.NumeroSerie = Convert.ToInt32(rw["NroReg"]);
    						
    }

    Recebo o erro:

    The column 'NroReg' does not belong to the table.

    Porém sei que é a coluna NroReg que está faltando, o que eu quero é como tratar isto quando o retorno do XML não retornar essas colunas?  

    E tem que ser numa forma mais genérica, porque o xml é grande, e tem colunas que não retoram.

    quarta-feira, 28 de maio de 2014 20:34

Respostas

  • Você pode verificar se existe a coluna antes de fazer qualquer operação:

    foreach(DataRow rw in xmlDS.Tables[0].Rows)
    {
    if(rw.Table.Columns.Contains("Id"))
       info.ID = Convert.ToInt32(rw["Id"]);
    
    if(rw.Table.Columns.Contains("IdEmpresa"))					        info.IdentiEmpresa = Convert.ToInt32(rw["IdEmpresa"]);
    
    if(rw.Table.Columns.Contains("NroReg"))
       info.NumeroSerie = Convert.ToInt32(rw["NroReg"]);
    						
    }

    • Marcado como Resposta Ricardo Duk domingo, 8 de junho de 2014 01:05
    quarta-feira, 28 de maio de 2014 21:02