0

出于某种未知原因,当我尝试从 ASP 中的 ADODB.Recordset 对象读取 RecordCount 属性时,它会导致奇怪的数据损坏,这似乎不遵循我能找到的任何特定模式。我正在使用 ASP 连接到 Oracle 10g 数据库。以下是我正在使用的代码。

c_objRS.Open strSql, objPage.objCn, adOpenStatic, adLockReadOnly, adCmdText  
DB_ReadListCount = c_objRS.RecordCount 

出于某种原因,仅当我调用 c_objRS.RecordCount 时,从此记录集中读取的某些 CLOB 对象才返回 null 值。如果我不调用它,或者如果我调用 c_objRS.Close 然后调用 c_objRS.Open,那么它工作得很好。c_objRS.Requery 似乎也解决了这个问题。

目前我真的不想使用这些方法,因为我担心通过打开和关闭结果集会导致某种程度的数据损坏,并且我不想重新运行另一个查询,因为有问题的表最终会变得非常大。

我目前正在使用 ODAC 11.1.0.6.21

任何帮助将非常感激!

4

2 回答 2

0

尝试这个:

If Not c_objRS.EOF Then
  c_objRS.MoveNext
  DB_ReadListCount = objRS.RecordCount
Else
  DB_ReadListCount = 0
End If
于 2009-07-08T20:31:46.510 回答
0

尝试 MoveNext 或 MoveLast,然后使用 MoveFirst。这可能会有所帮助。

于 2009-07-08T20:25:42.903 回答