Functions/Internal/Invoke-SqlScalar.ps1
Function Invoke-SqlScalar { [cmdletbinding()] param( [string] $TargetServer, [string] $DatabaseName, [string] $TargetUser, [securestring] $TargetPasswordSecure, [string] $Query ) $Params = @{DatabaseName = $DatabaseName; TargetServer = $TargetServer } if (-not [String]::IsNullOrWhiteSpace($TargetUser)) { $params.TargetUser = $TargetUser; $params.TargetPassword = $TargetPasswordSecure; } $conString = Get-ConnectionString @Params #-TargetUser $TargetUser -TargetPasswordSecure $TargetPasswordSecure -DatabaseName $DatabaseName -TargetServer $TargetServer $Con = new-sqlConnection -ConnectionString $conString Invoke-SqlScalarInternal -Connection $con -Query $Query Close-SqlConnection $con } Function Close-SqlConnection { [cmdletbinding()] param( $Connection ) Write-Verbose "Close Connection" $connection.Close(); } Function Invoke-SqlScalarInternal { [cmdletbinding()] param( $Connection, [string] $Query) Write-Verbose "Invoke-SqlScalar $Query" $SqlCommand = New-Object System.Data.SqlClient.SqlCommand $SqlCommand.Connection = $connection $SqlCommand.CommandText = $Query; Write-Verbose "Execute query" $SqlCommand.ExecuteScalar(); } |