gpt4 book ai didi

string - Powershell - 将 System.Data.DataRow 解析为字符串

转载 作者:行者123 更新时间:2023-12-03 23:30:15 25 4
gpt4 key购买 nike

我需要您输入有关如何将 SQL 查询的输出转换为 powershell 字符串的信息。我目前正在做以下事情

function ExecuteFromScriptRowset($connectionParams, $file)
{
return (invoke-sqlcmd @connectionParams
-inputFile $file -MaxCharLength 8000000)
}

我使用上面的函数来调用一个 .sql 文件,它执行类似的操作
SELECT Names FROM tblXXX

这是我用来调用 SQL 存储过程的实际 powershell 代码
$output = ExecuteFromScriptRowset $someDB (Resolve-Path '.\selectXXX.sql')

输出是一个 System.Data.DataRow 数组,我需要将其转换为字符串数组。我目前正在尝试以下无法按预期工作的方法
$formatOut = @()

for ($i=0; $i -le $output.Length; $i++)
{
$formatOut = $formatOut + [string]$output[$i]
}

这是 $formatOut 的输出在 for 循环之后,这不是我想要的
$formatOut[0] = System.Data.DataRow
$formatOut[1] = System.Data.DataRow
$formatOut[2] = System.Data.DataRow

您能否让我知道我需要做什么,以便我创建 $output 对象内容的字符串数组

最佳答案

您所看到的完全正常,因为默认情况下 ToString将输出对象类型。这是根据 .NET 规范。

您可以转换 DataRow使用 ItemArray 到对象数组, 然后通过 ","或您喜欢的任何连接方法加入,如下所示:

$formatOut = $formatOut + ($output[$i].ItemArray -join ",")

关于string - Powershell - 将 System.Data.DataRow 解析为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12944824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com