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

リーダーの最初の行をスキップしています。return ステートメントの直前reader.Read()の関数内のステートメントを削除します。SelectDepartmentID

リーダーを返す関数は、呼び出し元のコードがリーダーに対して何を行うかを想定せず、変更せずにそのまま返す必要があります。

于 2010-05-25T12:22:53.127 に答える