Power Shell将SQL查询结果添加到数组或表中

时间:2019-04-18 07:26:05

标签: sql-server powershell

我有一个Power Shell脚本,该脚本将连接到我的数据库并返回10个ID和相关代码的列表。运行此脚本时,它将列出10个ID,然后列出10个代码。我试图将这些值放入数组中,以便稍后在脚本中循环遍历它们。

ps1:

clear

#################################################
## Connect to SQL Server Database
#################################################
[string]$serverName = 'Server'
[string]$databaseName = 'Database'
[string]$userName = 'Username'
[string]$password = 'Password'

$connectionString = 'Data Source={0};database={1};User ID={2};Password={3}' -f $serverName,$databaseName,$userName,$password

$sqlConnection = New-Object System.Data.SqlClient.SqlConnection $connectionString
$sqlConnection.Open()

#################################################
## Run SQL Query
#################################################
[string]$sqlCommand = 'SELECT TOP 10 * FROM Table'

$command = new-object system.data.sqlclient.sqlcommand($sqlCommand,$connection)

$adapter = New-Object System.Data.sqlclient.sqlDataAdapter $command
$dataset = New-Object System.Data.DataSet
$adapter.Fill($dataSet) | Out-Null

#################################################
## Return SQL Query Results
#################################################

$dataSet.tables.id
$dataSet.tables.code

#################################################
## Close SQL Connection
#################################################

$sqlConnection.Close()

此刻输出如下:

1
2
3
4
5
code1
code2
code3
code4
code5

我正在尝试使输出看起来像:

{
   ("1","code1"),
   ("2","code2"),
   ...
}

或以表格格式返回数据

1 个答案:

答案 0 :(得分:0)

尝试一下:

$dataSet.tables | Select id, code

还可以看看Select-Object

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-object?view=powershell-6