2009-07-08 17 views
0

不明な理由により、ASPのADODB.RecordsetオブジェクトからRecordCountプロパティを読み取ろうとすると、特定のパターンに従わないような奇妙なデータの破損が発生します。私は見つけることができます。私はASPを使用してOracle 10gデータベースに接続しています。以下は私が使用しているコードです。何らかの理由でADODB Recordset.Recordcount corruption with oracle(ASP)

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

、このレコードセットから読み込まれ、いくつかのCLOBオブジェクトは、私がc_objRS.RecordCountを呼び出す場合にのみ値nullを返します。私はそれを呼び出さない場合、または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