2010-11-29 7 views
0

Ich habe Probleme, die GetNextExtended (36) Operation in Btrieve arbeiten zu lassen. Hier ist der Aufruf, die den Statuscode zurückzugibt 62:Btrieve GetNextExtended Status 62

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

Nach einer Suche nach dem Code zu tun ich zahlreiche Website besagt, dass der Code gibt einen Fehler in dem Datenpuffer, gespeichert in m_byteRecordBuffer gefunden. Hier sind die in dieser Variablen gespeicherten Werte:

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 

Ich hoffe, dass ich nur einfache bin etwas fehlt. Jede Hilfe würde sehr geschätzt werden.

+0

Wenn Sie keine Filterbedingungen haben und nur einen Datensatz erhalten, können Sie nicht einfach den regulären GETNEXT anstelle von GETNEXTEMENDED verwenden ? Versuchen Sie im Aufzeichnungspuffer, die Position der UC-Zeichen zu vertauschen. Setzen Sie 'U' (85) in Position 2 und 'C' (67) in Position 3. – Anna

+0

Die Begriffe wurden nur vorübergehend weggelassen, um den Debugging-Prozess zu vereinfachen. Danke für den Vorschlag, ich werde es auf jeden Fall versuchen. – jakdep

Antwort

1

Versuchen Sie im Aufzeichnungspuffer, die Position der UC-Zeichen zu vertauschen.
Setzen Sie 'U' (85) in Position 2 und 'C' (67) in Position 3.