2010-05-25 33 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()語句。

任何返回讀者的函數都不應該假定調用代碼會對它做什麼,只是不加修改地返回它。