Btrieve GetNextExtended Status 62 - PullRequest
       27

Btrieve GetNextExtended Status 62

0 голосов
/ 29 ноября 2010

У меня проблемы с тем, чтобы операция GetNextExtended (36) работала в Btrieve.Вот вызов, который возвращает код состояния 62:

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

После поиска кода я обнаружил множество сайтов, заявляющих, что код указывает на ошибку в буфере данных, хранящемся в m_byteRecordBuffer.Вот значения, хранящиеся в этой переменной:

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

Я надеюсь, что мне просто не хватает чего-то простого.Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 30 ноября 2010

В буфере записи попробуйте поменять местами символы UC.
Установите «U» (85) в положение 2 и «C» (67) в положение 3.

...