爲了重構我的一些代碼,我添加了一個函數來設置OleDbDataReader
。從函數返回DbDataRecord而不是DataReader/OleDbDataReader
我得到的返回值是由於一些奇怪的原因System.Data.Common.DbDataRecord
。
就在函數返回對象之前,我檢查確實是DataReader
。
這裏的函數代碼:
function Execute-Reader
{
param($conObj = $(throw "conObj parameter required"),
$sqlStr = $(throw "sqlStr parameter required"))
$cmd = New-Object system.data.oledb.oledbcommand
$cmd.connection = $conObj
$cmd.commandtext = $sqlStr
$reader = $cmd.executereader()
return [System.Data.OleDb.OleDbDataReader]$reader
}
和被稱爲具有以下
$reader = Execute-Reader $conObj $query
有沒有例外。唯一的問題是$閱讀器是不正確的類型。以某種方式鑄造,或什麼。