在PowerShell中我有這樣的功能: 功能RunSQLServerQuery { 參數( [字符串] $服務器=, [字符串] $實例= $(扔「數據庫名稱「」是要求」), [字符串] $查詢, $參數= @ {} )PowerShell中的SQL Server數據表額外的 「行」
$connection = new-object system.data.sqlclient.sqlconnection(`
「Data Source=$server;Initial Catalog=$instance;Integrated Security=TRUE;」);
$connection.Open
$cmd=new-object system.Data.SqlClient.SqlCommand($query,$connection)
foreach($p in $parameters.Keys)
{
[Void] $cmd.Parameters.AddWithValue("@$p",$parameters[$p])
}
$dt=New-Object system.Data.DataSet
$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmd)
$da.fill($dt) | Out-Null
return $dt.Tables[0]
}
當我這樣稱呼它:
$ MyTest的= 「SELECT GETDATE()」
$行= RunSQLServerQuery 「服務器名稱」, 「大師」 $ MyTest的@ {}
$行
我得到如下結果:
MemberType:方法
OverloadDefinitions :{System.Void打開()}
TypeNameOfValue:System.Management.Automation.PSMethod
值:System.Void打開()
名稱:打開
IsInstance:真
column1的:2011/7/19下午2時14分13秒
當我檢查的$的值離開的預期值的函數之前dt.Tables [0]:
column1的---- --- 7/19/2011 2:16:13 PM
我想不通這是爲什麼。我已經嘗試切換回回報,$ dt.Tables [0],但這是無濟於事。我無法弄清楚爲什麼PowerShell在從函數返回時添加此文本。必須有一些容易丟失的東西。
Boezo
謝謝你做到了!我知道這是簡單的,我看不到:) – boezo