# Pass parameter from powershell to stored procedure

**URL:** <https://forums.powershell.org/t/pass-parameter-from-powershell-to-stored-procedure/1438>\
**Category:** PowerShell Help\
**Created:** [December 31, 2011, 6:30pm UTC](https://forums.powershell.org/t/pass-parameter-from-powershell-to-stored-procedure/1438 "2011-12-31T18:30:00Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![archives](https://avatars.discourse-cdn.com/v4/letter/a/bb73d2/32.png) [@archives](https://forums.powershell.org/u/archives)\
**Post date:** [December 31, 2011, 6:30pm UTC](https://forums.powershell.org/t/pass-parameter-from-powershell-to-stored-procedure/1438/1 "2011-12-31T18:30:00Z")

</div>

by apriljuly at 2013-03-11 06:56:41

> Hi,  
>   
> I was trying to pass 2 parameters to my stored procedure using powershell.  
>   
> My code is as below, when I run it in powershell there’s no error. However, it doesn’t seem the parameters has been passed, because I can’t get the correct result. Is there anything wrong on below?  
>   
> `$SqlConnection = New-Object System.Data.SqlClient.SqlConnection$SqlConnection.ConnectionString = "Server=localhost;Database=AMSDataWarehouse Test;Integrated Security=SSPI"$SqlCmd = New-Object System.Data.SqlClient.SqlCommand$SqlCmd.Connection = $SqlConnection$sqlcmd.CommandText = "YQBReport1"$param1=$sqlcmd.Parameters.Add("@from" , [System.Data.SqlDbType]::DateTime)$param1.Value = "2013-03-13"$param2=$sqlcmd.Parameters.Add("@to" , [System.Data.SqlDbType]::DateTime)$param2.Value = "2013-03-14"$SqlConnection.Open()$sqlcmd.ExecuteNonQuery()$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter$SqlAdapter.SelectCommand = $SqlCmd$DataSet = New-Object System.Data.DataSetWrite-Host $SqlAdapter.Fill($DataSet)$SqlConnection.Close()$SQLResult =$DataSet.Tables[0]$commands = $SQLResult | foreach-object -process { $_.output }> output.ps1.\output.ps1`

by cmille19 at 2013-03-12 08:59:53

> If you’re expecting a result set, you’re not going to get is using ExecuteNonQuery. ExecuteNonQuery like the name implies is used for executing insert, update and deletes (nonquery).  
>   
> You can either use a datareader or fill a dataset. I find it easier to work with datasets:  
> $dataAdapter = New-Object System.Data.SqlClient.SqlDataAdapter   
>   
> $dataAdapter.SelectCommand = new-object System.Data.SqlClient.SqlCommand ($query,$connString)   
>   
> $dt = New-Object System.Data.DataTable   
>   
> $null = $dataAdapter.fill($dt)   
> $dt

by MaxTrinidad at 2013-04-16 12:17:45

> Passing parameters can be as simple as the following sample:  
>   
> $parm1 = ‘dbo.MonthlySales’  
> $parm2 = ‘false’  
> $sqlqry = "exec sp\_spaceused ‘$parm1’, ‘$parm2’ "  
> :  
> $dataAdapter.SelectCommand = new-object System.Data.SqlClient.SqlCommand ($sqlqry,$connString)   
> :  
>   
> 🙂

---

<div class="post-metadata">

**Author:** ![dotnVo](https://avatars.discourse-cdn.com/v4/letter/d/4af34b/32.png) [@dotnVo](https://forums.powershell.org/u/dotnVo)\
**Post date:** [May 16, 2024, 9:02pm UTC](https://forums.powershell.org/t/pass-parameter-from-powershell-to-stored-procedure/1438/2 "2024-05-16T21:02:48Z")

</div>


