2015-10-19 81 views
0

我有一个与powershell返回字符串值的MySQL连接。它通过返回迭代只是细没有我的连接信息在这里是简单的回报(0 .... 4)返回基于关闭MySQL查询的colums:Powershell MySQL字符串返回|到HTML?

$dr3.GetString(0) 
    $dr3.GetString(1) 
    $dr3.GetString(2) 
    $dr3.GetString(3) 
    $dr3.GetString(4) 

我的问题是如何通过这些迭代结果生成电子邮件报告。结果返回 - 这很好。为了举例说,上述每个字符串都返回5行。我想在表格中显示这五行(散列或convertto-html或其他...),并将新元素/散列的“变量”传递给send-mailmessage命令以生成每日通过电子邮件发送的报告。到目前为止,我只能得到第一个打印回复 - 例如$ dr3.GetString(0)打印“Dave”。我可以得到每列的第一行打印罚款一个变量,但我想知道如果我在这里的某个地方缺少一个foreach循环加上一个convertto-html表....我知道必须有一些迭代和convertto-我失踪的HTML!提前致谢!

+0

如果您知道列的名称,请尝试类似$ dr3 | select-object -property Column1,Column2,Column3,Column4 | convertto-html –

+0

它们是从mysql返回的字符串,我不能把它们看作是PowerShell对象,我想......我尝试了这个,并且$ dr3.firstname的打印没有返回。 – Charles

+0

这是一个数据行对象吗?命名会让我这么想。 –

回答

0

找到了适用于我的用例的答案。而不是使用convertto-html,我只是使用html分片和字符串粘贴。下面是我的代码,这就像一个魅力:

while ($dr3.Read()) 
{ 

$dr3.GetString(0)   
$dr3.GetString(1) 
$dr3.GetString(2) 
$dr3.GetString(3) 
$dr3.GetString(4) 


#build html table foreach array 
$html = "<table><tr><td>First Name</td><td>Last Name</td></tr>" 
foreach ($result in $dr3) 
{ 
    $html += "<tr><td>" + $dr3.GetString(0) + "</td><td>" +   $dr3.GetString(1) + "</td></tr>" 
} 
$html += "</table>" 

这有点到达那里的一种迂回的方式....但这个工程。感谢这些想法 - 他们得到了迈克的轮子。