Получение значения из поля в DataTable, когда в имени столбца есть пробелы

Я пытался:

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

Я использую VB.NET, но комментарии с апострофами здесь, похоже, не определены.

И я получаю исключения для каждого случая:
Столбец "[Cnpj Cpf]" не принадлежит таблице Table. (ошибка)Столбец Cnpj Cpf не принадлежит таблице Table. (ошибка)Столбец ''Cnpj Cpf'' не принадлежит таблице Table. (потерпеть поражение)

Что я должен сделать, чтобы получить значение из поля в dataTable, когда имя столбца имеет пробелы?

1 ответ

Решение

Вы проверили, что колонка думает, что это называется? Это может иметь подчеркивание, например. Прокрутите столбцы и найдите (извините, примеры в C#):

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

На самом деле, столбец быстрее использовать, если вы делаете это в цикле, поэтому я мог бы использовать что-то вроде:

DataColumn col = table.Columns["whatever"];
foreach(DataRow row in table.Rows) {
    Console.WriteLine(row[col]);
}
Другие вопросы по тегам