首页 > 解决方案 > 查询后使用 SQL 数据集 (System.Data.InternalDataCollectionBase)

问题描述

我有一个如下所示的数据库表:

ID|IP 地址|主机名
1 |192.168.1 |TestComp1
2 |192.168.2 |TestComp2
3 |192.168.3 |TestComp3

PowerShell 命令:

$SQLAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SQLCommand
$SQLDataset = New-Object System.Data.DataSet
$SqlAdapter.Fill($SQLDataset) | Out-Null

我该如何工作$SQLDataset.Tables?如:

  1. 这是一个多维数组吗?

  2. 查看列?

  3. 获取示例第 3 行第 2 列的值?

  4. 把一整列变成一个数组?

标签: sqlpowershell

解决方案


1.这是一个多维数组吗?

不,这是一个DataSet(除其他外)包含零个或多个DataTable对象的对象。

2.查看栏目?

$tbl = $SQLDataset.Tables[0]
$tbl

3. 获取示例第 3 行第 2 列的值?

不要按数字访问列,而是按名称访问:

$tbl.Rows[2].IPAddresses

PowerShell 索引是从零开始的,因此.Rows[2]指的是第三行。

4. 把一整列变成一个数组?

展开每一行各自字段的值:

$arr = $tbl.Rows | Select-Object -Expand IPAddress

推荐阅读