2010-11-29 47 views
0

我在Btrieve中獲取GetNextExtended(36)操作 時遇到問題。這裏是一個返回狀態碼62呼叫:Btrieve GetNextExtended Status 62

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

做的代碼搜索後,我發現很多網站,指出 代碼表示DataBuffer中的一個錯誤,存儲在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 

我希望我只是失去了一些東西簡單。任何幫助將不勝感激。

+0

如果您沒有過濾條件並且只獲取一條記錄,那麼您不能只使用常規GETNEXT而不是GETNEXTEXTENDED ?在記錄緩衝區中,嘗試交換UC字符的位置。將'U'(85)置於位置2,將'C'(67)置於位置3. – Anna 2010-11-29 15:42:17

回答

1

在記錄緩衝區中,嘗試交換UC字符的位置。
將'U'(85)置於位置2並將'C'(67)置於位置3.