Pergunta

Eu tentei:

ObjDTOleDBNFeIntegra.Rows(I)("[Cnpj Cpf]").ToString() //with brackets  
ObjDTOleDBNFeIntegra.Rows(I)("'Cnpj Cpf'").ToString() //with apostrophe  
ObjDTOleDBNFeIntegra.Rows(I)("Cnpj Cpf").ToString() //without anything  

Eu estou usando VB.NET, mas comentários com apóstrofos em aqui parecem não ser identificado.

E eu recebo as exceções para cada caso:
Coluna '[Cnpj Cpf]' não pertence à tabela tabela. (falha) Coluna significa 'Cnpj Cpf' não pertence à tabela tabela. (falha) Coluna '' Cnpj Cpf '' não pertence à tabela tabela. (falha)

O que devo fazer para ger um valor de um campo em um dataTable quando o nome da coluna tem espaços?

Foi útil?

Solução

Você já viu o que o coluna pensa que é chamado? Ele pode ter sublinhado, por exemplo. Loop sobre as colunas e descobrir (desculpe, exemplos em C #):

foreach(DataColumn col in table.Columns) {
    Debug.WriteLine(col.ColumnName);
}

Na verdade, é mais rápido usar a coluna, se você está fazendo isso em um loop, então eu poderia usar algo como:

DataColumn col = table.Columns["whatever"];
foreach(DataRow row in table.Rows) {
    Console.WriteLine(row[col]);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top