我的网站正在使用企业库v5.0,主要是DAAB。一些函数,如executescalar,executedataset的工作符合预期。问题出现在我开始使用读取器时。
我在我的包含类中有这个函数:
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文件中的调用方式:
这是从我的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处理读取器时,我是否总是会遇到问题?