【发布时间】:2017-02-03 09:43:58
【问题描述】:
您好,我有以下代码
function Invoke-SQL {
param(
[string] $dataSource = ".\SKYPE",
[string] $database = "LcsCDR",
[string] $sqlCommand = "SELECT * From UsersView"
)
$connectionString = "Data Source=$dataSource; " +
"Integrated Security=SSPI; " +
"Initial Catalog=$database"
$connection = new-object system.data.SqlClient.SQLConnection($connectionString)
$command = new-object system.data.sqlclient.sqlcommand($sqlCommand,$connection)
$connection.Open()
$adapter = New-Object System.Data.sqlclient.sqlDataAdapter $command
$dataset = New-Object System.Data.DataSet
$adapter.Fill($dataSet) | Out-Null
$connection.Close()
$dataSet.Tables
}
$results = Invoke-SQL
Write-Host $results.Rows.Count
foreach ($row in $results.Rows)
{
Write-Host "value is : $($row[4])"
}
我所期望的就是拉回 UserView 表的内容并循环遍历它并将其显示在屏幕上。一切都直截了当。
但我在输出中使用列索引。我如何首先列出表格的列标题。然后能够通过使用标题而不是索引号进行循环。
所以我希望最后一行如下所示,其中“userid”是列标题。
Write-Host "value is : $($row["UserID"])"
这可能吗?
【问题讨论】:
标签: sql powershell datatable datatables datasource