Public/Invoke-SqliteQuery.ps1
|
using namespace Microsoft.Data.Sqlite function Invoke-SqliteQuery { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [SqliteConnection] $SqliteConnection, [Parameter(Mandatory = $true)] [Alias('Query')] [string] $CommandText, [Parameter()] [ValidateSet('DataTable', 'DataReader', 'DataSet', 'OrderedDictionary', 'PSCustomObject')] [string] $As = 'DataTable', [Parameter()] [Type] $CastAs, [Parameter()] [System.Collections.IDictionary] $Parameters = @{}, [Parameter()] [int] $CommandTimeout = 30, [Parameter()] [switch] $keepAlive ) if ($CommandTimeout -ne 30) { Write-Warning 'SqliteHelper.InvokeSqliteQuery() currently does not expose CommandTimeout; using provider default timeout.' } $result = [SqliteHelper]::InvokeSqliteQuery($SqliteConnection, $CommandText, [hashtable]$Parameters, $As) if (!$keepAlive) { [SqliteHelper]::CloseConnection($SqliteConnection) } if ($PSBoundParameters.ContainsKey('CastAs') -and $null -ne $CastAs) { return ($result -as $CastAs) } return $result } |