gpt4 book ai didi

powershell - 类型化属性如何显示在 PowerShell 中的非类型化 DataTable 中?

转载 作者:行者123 更新时间:2023-12-02 02:37:30 25 4
gpt4 key购买 nike

以下 PowerShell 代码将 SQL 结果加载到数据集中:

$sqlCommand = "SELECT A, B FROM TestTable"
$connection = New-Object System.Data.OleDb.OleDbConnection $connectionString
$command = New-Object System.Data.OleDb.OleDbCommand $sqlCommand,$connection
$connection.Open()
$adapter = New-Object System.Data.OleDb.OleDbDataAdapter $command
$dataset = New-Object System.Data.DataSet
[void] $adapter.Fill($dataSet)

得知 $dataset.Tables[0].Rows[0].A 有效,我感到很惊讶!我尝试将该行通过管道传递给 Get-Member ,实际上 A 和 B 被列为对象的属性。有谁知道为什么这有效? DataSet 不是从 XSD 生成的。我尝试在 C# 中编写相同的代码行并使用调试器我看不到属性 A 和 B。

最佳答案

这是 PowerShell 扩展类型系统的一部分。对于数据集、XML 文档、COM、AD 和 WMI 对象等许多已知类型,PowerShell 会将底层 native 对象包装在 PSObject 中,该对象具有非常受欢迎的附加属性。

关于powershell - 类型化属性如何显示在 PowerShell 中的非类型化 DataTable 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/778792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com