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

Я пробовал:

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 Ответ

10 голосов
/ 08 марта 2010

Вы проверили, как называется колонка , как она называется?Это может иметь подчеркивание, например.Обойдите столбцы и выясните (извините, примеры в 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]);
}
...