2010-03-08 27 views
3

我曾尝试:获取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]”不属于表表。(失败) 列'Cnpj Cpf'不属于表格表格。(失败) 列''Cnpj Cpf''不属于表格表格。(失败)

当列名包含空格时,我应该如何处理数据表中的字段值?

回答

10

你检查什么认为它叫什么名字?例如,它可能具有下划线。环比列,并找出(对不起,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]); 
}