2010-11-29 10 views
0

Je rencontre des problèmes pour obtenir l'opération GetNextExtended (36) fonctionnant dans Btrieve. Voici l'appel qui renvoie le code d'état 62:Btrieve GetNextEtendu Statut 62

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

Après avoir fait une recherche pour le code que je trouve de nombreux sites indiquant que le code indique une erreur dans le DataBuffer, stocké dans m_byteRecordBuffer. Voici les valeurs stockées dans cette 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 

J'espère que je manque juste quelque chose de simple. Toute aide serait grandement appréciée.

+0

Si vous n'avez aucun terme de filtre et obtenez un seul enregistrement, ne pouvez-vous pas simplement utiliser le GETNEXT normal au lieu GETNEXTEXTENDED ? Dans le tampon d'enregistrement, essayez d'échanger la position des caractères UC. Mettez 'U' (85) dans la position 2 et 'C' (67) dans la position 3. – Anna

+0

Les termes ont été exclus temporairement pour simplifier le processus de débogage. Merci pour la suggestion, je vais certainement essayer. – jakdep

Répondre

1

Dans le tampon d'enregistrement, essayez de permuter la position des caractères UC.
Mettez 'U' (85) en position 2 et 'C' (67) en position 3.