0

I'm having trouble getting the GetNextExtended(36) operation working in Btrieve. Here is the call which returns the status code 62 :

    intStatus = BTRCALL(B_GETNEXTEXTENDED, _
                        m_byteFilePosBlk, _
                        m_byteRecordBuffer(0), _
                        lngDataBufferLen, _
                        ByVal strKeyBuffer, _
                        intKeyBufferLen, _
                        m_intKeyNum)

After doing a search for the code I found numerous site stating that the code indicates an error in the databuffer, stored in m_byteRecordBuffer. Here are the values stored in that variable :

m_byteRecordBuffer(0)    16    'These two bytes indicate the total size of'  
m_byteRecordBuffer(1)    0     'data buffer' 

m_byteRecordBuffer(2)    67    'These two bytes indicate the characters 'UC''
m_byteRecordBuffer(3)    85

m_byteRecordBuffer(4)    0     'These two bytes indicate the maximum reject' 
m_byteRecordBuffer(5)    0     'count, which if set to 0 defaults to 4,095' 

m_byteRecordBuffer(6)    0     'These two bytes indicate the number of terms'
m_byteRecordBuffer(7)    0     'which has been set to zero'

m_byteRecordBuffer(8)    1     'These two bytes indicate the number of' 
m_byteRecordBuffer(9)    0     'records to return'

m_byteRecordBuffer(10)  1     'These two bytes indicate the number of fields'
m_byteRecordBuffer(11)  0     'to extract'

m_byteRecordBuffer(12)  2     'These two bytes indicate the length of the'
m_byteRecordBuffer(13)  0     'field to extract'

m_byteRecordBuffer(14)  1     'These two bytes indicate the field offset'
m_byteRecordBuffer(15)  0

I hope I am just missing something simple. Any help would be greatly appreciated.

jakdep
  • 852
  • 1
  • 11
  • 28
  • If you have no filter terms and are getting just one record, can't you just use the regular GETNEXT instead GETNEXTEXTENDED? In the record buffer, try swapping the position of the UC characters. Put 'U' (85) in position 2 and 'C' (67) in position 3. –  Nov 29 '10 at 15:42
  • The terms have only been left out temporarily to simplify the debugging process. Thank you for the suggestion, I'll definitely give it a shot. – jakdep Nov 29 '10 at 17:05

1 Answers1

1

In the record buffer, try swapping the position of the UC characters.
Put 'U' (85) in position 2 and 'C' (67) in position 3.