【问题标题】:How do I get name and values from a dataset (key value pairs)?如何从数据集(键值对)中获取名称和值?
【发布时间】:2016-04-18 17:29:03
【问题描述】:

我正在使用 system.data.dataset。

我想遍历每一行并从每一行中创建一个 psobject。属性将是列名。这怎么可能?我想从列名动态创建属性。

【问题讨论】:

  • 顺便说一句,PowerShell 适应 DataRow 对象并将列公开为属性。

标签: powershell datatable dataset


【解决方案1】:

假设您在$DataRow 变量中有DataRow 对象,您可以执行以下操作:

$DataRow.Table.Columns | ForEach-Object {$Properties=[ordered]@{}} `
                                        {$Properties.Add($_.ColumnName, $DataRow[$_])} `
                                        {[PSCustomObject]$Properties}

【讨论】:

  • 在从单个视图中选择的非常具体的情况下,这对我不起作用。 $DataRow = Invoke-SqlCmd @OtherParams -query "select col1 from [A_View]"$null -eq $DataRow.Table #True
【解决方案2】:

我发现执行 $datarow.psobject.properties 并根据“rowerror”“rowstate”之类的属性数组检查每个属性以过滤掉垃圾很容易,此时我可以 .name .value。

【讨论】:

  • $datarow.PSAdapted.PSObject.Properties 无需过滤“rowerror”、“rowstate”等。
  • 太棒了!您应该将其添加为答案,我将其标记为正确。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-06
  • 2021-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多