2010-05-25 75 views
0

值在我隐藏我有这个VB:Idatareaders不返回从数据库

Dim reader as idatareader = includes.SelectDepartmentID(PageID) 
     While reader.Read 
      Did = reader("departmentid") 
      GroupingHeading = reader("heading") 
      Folder = reader("folder") 
      If reader("OwnBanner") Is DBNull.Value Then 
       OwnBanner = String.Empty 
      Else 
       OwnBanner = reader("ownbanner") 
      End If 

然后在我的课,我有:正提交

Public Function SelectDepartmentID(ByVal PageID As Integer) As IDataReader 
     Dim Command As SqlCommand = db.GetSqlStringCommand("sql") 
     db.AddInParameter(Command, "@pageid", Data.DbType.Int32, PageID) 
     Dim reader As IDataReader = db.ExecuteReader(Command) 
     reader.Read() 
     Return reader 
    End Function 

没有错误但没有什么是被返回读者。我的代码中有错误吗?

谢谢。

+0

'idatareader' ...这就是为什么我讨厌VB.NET – 2010-05-25 12:20:35

+0

我正在使用sqldatareaders,但在entlib中返回它们时出现问题!!!非常沮丧 – Phil 2010-05-25 12:21:42

回答

2

尝试移除从SelectDepartmentID的

reader.Read() 

线。

1

您正在跳过读者的第一行。在return语句之前,删除SelectDepartmentID函数中的reader.Read()语句。

任何返回读者的函数都不应该假定调用代码会对它做什么,只是不加修改地返回它。