Powershell中构造HashTable后无法通过键获取对应值怎么办
问题原因
你当前的写法是将$databases1.Col1返回的整列数组作为单个键,$databases1.Col2返回的整列数组作为对应值,所以整个哈希表只有1组键值对,自然无法通过单个键名取值。
解决方法
遍历SQL查询返回的每一行数据,逐行将Col1、Col2的值存入哈希表即可,正确代码如下:
$query1 = "select top 5 Col1, Col2 from TableName" $databases1 = Invoke-Sqlcmd -Query $query1 -ConnectionString "ConnectionString" # 先初始化空哈希表 $hash = @{} # 遍历每一行数据插入键值对 foreach ($row in $databases1) { $hash[$row.Col1] = $row.Col2 } return $hash
验证效果
执行完上述代码后,即可通过$hash['a']直接获取到对应的值1。
内容的提问来源于stack exchange,提问作者Lily
相关产品推荐
相关产品推荐

