我有一个 Power shell 脚本,它查询数据库并返回两列,它们是键值对。我们称它们为 a 和 b。
如何将其存储在 map 中以便稍后调用?下面是 mysql 代码,它运行并将列打印到屏幕上。
$Connection = New-Object MySql.Data.MySqlClient.MySqlConnection
$Connection.ConnectionString = $ConnectionString
$Connection.Open()
$Command = New-Object MySql.Data.MySqlClient.MySqlCommand($Query, $Connection)
$DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Command)
$DataSet = New-Object System.Data.DataSet
$RecordCount = $dataAdapter.Fill($dataSet, "data")
$DataSet.Tables[0]
只是不确定如何将键值对存储在映射中以供以后使用。两列都是数字。
谢谢。
最佳答案
您想循环遍历结果中的每个对象吗?
$Records = $DataSet.Tables[0]
$Records.Keys | ForEach-Object {$Record.$_}
这将允许您迭代对象并为每个对象运行一些代码。
例如,我有一个像这样的哈希表:
$Records = [hashtable]@{'Name'='Stephen';'Hair'='Red'}
结果:
$Records.Keys | ForEach-Object {"object `$Records.$_ = $($Records.$_)"}
>object $Records.Hair = Red
>object $Records.Name = Stephen
如果这不是您要找的内容,请发表评论,以便我尽力帮助您找到解决方案。
关于mysql - Powershell 将 sqlResults 存储到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29414045/