2009-07-08 47 views
0

由於某些未知的原因,當我嘗試從ASP中的ADODB.Recordset對象讀取RecordCount屬性它會導致奇怪的數據損壞,似乎不遵循任何特定的模式我可以找到。我正在使用ASP連接到Oracle 10g數據庫。以下是我正在使用的代碼。ADODB Recordset.Recordcount損壞與甲骨文(ASP)

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

出於某種原因,從這個記錄讀一些CLOB對象返回null值只有當我打電話c_objRS.RecordCount。如果我不叫它,或者如果我調用c_objRS.Close然後c_objRS.Open,那麼它工作得很好。另外c_objRS.Requery似乎解決了這個問題。

我現在真的不想使用這些方法,因爲我害怕通過打開和關閉結果集而導致某些級別的數據損壞,並且我不想重新運行其他查詢,因爲問題表最終可能會變得相當龐大。

我目前使用ODAC 11.1.0.6.21

任何幫助,將不勝感激!

回答

0

嘗試MoveNext或MoveLast,然後使用MoveFirst。這可能有幫助。

0

試試這個:

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