私のサイトはエンタープライズ ライブラリ v 5.0 を使用しています。主にDAAB。executecalar、executedataset などの一部の関数は期待どおりに動作しています。Readers の使用を開始すると問題が発生する
インクルードクラスにこの関数があります:
Public Function AssignedDepartmentDetail(ByVal Did As Integer) As SqlDataReader
Dim reader As SqlDataReader
Dim Command As SqlCommand = db.GetSqlStringCommand("select seomthing from somewhere where something = @did")
db.AddInParameter(Command, "@did", Data.DbType.Int32, Did)
reader = db.ExecuteReader(Command)
reader.Read()
Return reader
End Function
これは aspx.vb から次のように呼び出されます。
reader = includes.AssignedDepartmentDetail(Did)
If reader.HasRows Then
TheModule = reader("templatefilename")
PageID = reader("id")
Else
TheModule = "#"
End If
これにより、db.ExecuteReader 行で次のエラーが発生します。
タイプ 'Microsoft.Practices.EnterpriseLibrary.Data.RefCountingDataReader' のオブジェクトをタイプ 'System.Data.SqlClient.SqlDataReader' にキャストできません。
これを機能させる方法について、誰かが光を当てることができますか。entlib を介してリーダーを扱う場合、常に問題が発生しますか?