OracleDataReader Reader.Read() 显示 Enumeration 未产生任何结果,但行数为真

问题描述

我有一个返回 oracle reader 的抽象方法,我可以看到枚举中的行,并且在调试时将行字段设置为 true,但是当我到达 reader.Read() 行时,它显示 Enumeration 没有结果,但仍有行设置为真。

Dim reader as OracleDataReader = pobj_W.GetMyReader()
   
While reader.Read()
   //code
End while

终于得到了上面返回oracle reader的抽象方法的访问

 Dim Cmd As OracleCommand = nothing
            Dim reader As OracleDataReader = nothing
            Dim sentCmd As Boolean = False
    
   If robj_Command Is nothing Then
        Cmd = pcon_Conn.MyOraConn.CreateCommand
        Cmd.CommandText = vstr_sql  
    Else
            Cmd = robj_Command
            sentCmd = True
        End If

        If pcon_Conn.QueryTimeout > 0 Then 
         Cmd.CommandTimeout = pcon_Conn.QueryTimeout

        reader = Cmd.ExecuteReader()

        If sentCmd = False Then Cmd.dispose()
        Cmd = nothing

        Return reader

它永远不会进入循环,因为枚举没有产生任何结果。这里发生了什么?

在调试时,结果视图将在几秒钟后显示行,然后它变空但行仍然保持真实。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)