0

在我的代码隐藏中,我有这个 vb:

 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

没有出现错误,但读者没有返回任何内容。我的代码有错误吗?

谢谢。

4

2 回答 2

2

尝试删除

reader.Read()

来自 SelectDepartmentID 的行。

于 2010-05-25T12:21:28.430 回答
1

您正在跳过阅读器的第一行。删除函数中返回reader.Read()语句SelectDepartmentID之前的语句。

任何返回 reader 的函数都不应假设调用代码将如何处理它,而应不加修改地返回它。

于 2010-05-25T12:22:53.127 回答