2010-11-29 2 views
0

Btrieveで のGetNextExtended(36)操作が正常に動作しなくなりました。Btrieve GetNextExtendedステータス62

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

コードの検索を行った後、私は コードがm_byteRecordBufferに保存されているDataBuffer内のエラーを示していると述べ、多くのサイトを見つけました:ここではステータスコード62を返します呼び出しがあります。ここ は、その変数に保存されている値は次のとおりです。

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

フィルタ条件がなく、レコードが1つしかない場合は、GETNEXTEXTENDED ?レコードバッファ内で、UC文字の位置を入れ替えてみてください。 'U'(85)を2位に、 'C'(67)を3位に入れます。 – Anna

+0

この用語は、デバッグプロセスを簡略化するために一時的に省略されています。提案していただきありがとうございます、私は間違いなくそのショットを与えるでしょう。 – jakdep

答えて

1

レコードバッファで、UC文字の位置を入れ替えてみてください。
2の位置に 'U'(85)、3の位置に 'C'(67)を入れてください。

関連する問題