我最近的项目需要使用powershell来查询来自mysql数据库的数据,并且我找到了一个很好的脚本来执行它,唯一的问题是脚本将始终输出一个int值(这正是返回项的数量) )。如何避免这种输出?我唯一想要的是查询数据。 以下是脚本:
$mysqlDllFilePath = "C:\temp\powerShellScript\MySQL.Data.dll"
[void][system.reflection.Assembly]::LoadFrom($mysqlDllFilePath)
$myconnection = New-Object MySql.Data.MySqlClient.MySqlConnection
$myconnection.ConnectionString = "server=localhost;userid=root;password=admin;database=temp;pooling=false"
$myconnection.Open()
$mycommand = New-Object MySql.Data.MySqlClient.MySqlCommand
$mycommand.Connection = $myconnection
$mycommand.CommandText = "SELECT SiteGuid,SiteName,ProductEdition,ProductVersion from site"
$adapter = new-object MySql.Data.MySqlClient.MySqlDataAdapter
$adapter.SelectCommand = $mycommand
$ds = new-object System.Data.DataSet
$adapter.Fill($ds)
$myconnection.close()
$ds.Tables[0]
脚本的输出是:
PS C:\Users\jason> C:\temp\powerShellScript\Get-ConfigSite.ps1
2
SiteGuid SiteName ProductEdition ProductVersion
-------- -------- -------------- --------------
123f7267-757c-4864-b0... simulatedSite PLT 7.1
526f7267-757c-4864-b0... simulatedSite PLT 7.1
如何避免输出值“2”?
答案 0 :(得分:0)
好的,我找到了输出的原因,这是“$ adapter.Fill($ ds)”语句的输出,如果我声明一个变量来保存这个值,它就不会输出到控制台。也许这就是powershell的语法。 解决方案是将该语句更改为“$ count = $ adapter.Fill($ ds)”。 无论如何,谢谢。