Повреждение ADODB Recordset.Recordcount с оракулом (ASP) - PullRequest
0 голосов
/ 09 июля 2009

По какой-то неизвестной причине, когда я пытаюсь прочитать свойство RecordCount из объекта ADODB.Recordset в ASP, это вызывает странное повреждение данных, которое, по-видимому, не соответствует какой-либо конкретной схеме, которую я могу найти. Я использую ASP для подключения к базе данных Oracle 10g. Ниже приведен код, который я использую.

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

Любая помощь будет высоко ценится!

Ответы [ 2 ]

0 голосов
/ 09 июля 2009

Попробуйте это:

If Not c_objRS.EOF Then
  c_objRS.MoveNext
  DB_ReadListCount = objRS.RecordCount
Else
  DB_ReadListCount = 0
End If
0 голосов
/ 09 июля 2009

Попробуйте MoveNext или MoveLast, затем используйте MoveFirst. Это может помочь.

...