【问题标题】:Getting value from field in DataTable when column name has spaces当列名包含空格时从 DataTable 中的字段获取值
【发布时间】:2011-01-25 02:59:50
【问题描述】:

我试过了:

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,但此处带有撇号的 cmets 似乎无法识别。

我得到了每种情况的例外情况:
列'[Cnpj Cpf]'不属于表Table。(失败) 列 'Cnpj Cpf' 不属于表 Table。   (失败) 列''Cnpj Cpf''不属于表Table。(失败)

当列名有空格时,我应该怎么做才能从 dataTable 中的字段中获取值?

【问题讨论】:

    标签: c# vb.net visual-studio datatable system.data


    【解决方案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]);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-02
      • 1970-01-01
      • 1970-01-01
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 2017-07-18
      • 1970-01-01
      相关资源
      最近更新 更多