繁体   English   中英

如何通过PowerShell在SQL查询中传递参数

[英]How to pass the parameter in SQL query from PowerShell

我在PowerShell中有以下代码,该代码执行SQL查询以更新我的表:

$Connection=new-object data.sqlclient.sqlconnection "server=server;database=mydb;trusted_connection=true;"
$Connection.open()

For ( $i = 0; $i -le $ActID.Length; $i ++ ) { 
    $cmd = New-Object System.Data.SqlClient.SqlCommand
    $cmd.Connection = $Connection
    $cmd.CommandText = 
    "
    update Table 
    set Note = @PATH
    "
    $cmd.Parameters.Add("@PATH", $ActID[$i].Values) | Out-Null

    $cmd.ExecuteNonQuery()
}

我尝试使用此字符串中定义的变量更新表:

$cmd.Parameters.Add("@PATH", $ActID[$i].Values) | Out-Null

但是,当我执行脚本时,错误日志显示$ ActID [$ i]中没有传递任何值

还有其他方法可以在Powershell查询中传递参数(变量)吗?

可能是什么错误:

$i -le $ActID.Length;

应该是

$i -lt $ActID.Length;

您还可以使用简化代码的管道:

$actId | % { ..... $cmd.Parameters.Add("@PATH", $_.Values) | Out-Null .... }

除此之外,您使用的属性是“ Values -确实是您想要的吗? 价值观似乎是某种东西的集合。 也许您想使用一个值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM