使用oracle(ASP)ADODB Recordset.Recordcount损坏

时间:2009-07-08 20:21:49

标签: oracle asp-classic recordset corruption

由于某些未知原因,当我尝试从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

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

试试这个:

If Not c_objRS.EOF Then
  c_objRS.MoveNext
  DB_ReadListCount = objRS.RecordCount
Else
  DB_ReadListCount = 0
End If