![](/img/trans.png)
[英]How do I properly pass arguments to a scriptblock using powershell runspaces?
[英]How do I pass parameters properly?
請在下面查看我的功能:
Function Query {
param (
[string]$query
[string]$server
[string]$dbase
[string]$user
[string]$pass
)
if ($user) {
$connstr = "Server={0};Database={1};User ID={2};Password={3};Trusted_Connection=False;Connect Timeout=15" -f $server, $dbase, $user, $pass
}
else {
$connstr = "Server={0};Database={1};Integrated Security=True;Connect Timeout=15" -f $server, $dbase
}
$conn.ConnectionString = $connstr
switch ($query.Split()[0]) {
"SELECT" {
$cmd = New-Object System.Data.SqlClient.SqlCommand($query,$conn)
$adapter = New-Object System.Data.SqlClient.SqlDataAdapter($cmd)
$dataset = New-Object System.Data.DataSet
$adapter.Fill($dataset) | Out-Null
return $dataset
}
"UPDATE" {
$cmd = New-Object System.Data.SqlClient.SqlCommand($query,$conn)
return $cmd.ExecuteNonQuery()
}
"INSERT" {
$cmd = New-Object System.Data.SqlClient.SqlCommand($query,$conn)
return $cmd.ExecuteNonQuery()
}
}
}
Query -query "SELECT TOP 10 myField FROM myTable" -server "SQLEXPRESS" -dbase "TEST"
這行不通,Powershell ISE在param
部分給了我紅色,但是我不明白為什么。 由於人們似乎有許多不同的方式來構造Powershell函數(我是一個初學者:)),我有些困惑。
如何使此功能起作用?
把逗號,
參數之間:
Function SomeName {
Param ($param1,$param2,$param3)
}
等等。您可以在逗號后使用空格或換行符以提高可讀性,這是大多數人所做的事情:
Function SomeName {
param (
$param1,
$param2
)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.