ADO RDD xHarbour
Re: ADO RDD xHarbour
Gunther,
Right nevertheless that was a bug!
Is it still occur if you comment TESTADISC->(dbgoto(TESTADISC->(lastrec()+1))) //damit keine anzeige ?
Right nevertheless that was a bug!
Is it still occur if you comment TESTADISC->(dbgoto(TESTADISC->(lastrec()+1))) //damit keine anzeige ?
Regards
Antonio H Ferreira
Antonio H Ferreira
Re: ADO RDD xHarbour
Antonio, no! If this line comment out is functioning!
But when i make a dbseek() with found()==.F. the recordpointer also go to lastrec()+1 and no moree seeks are possible!
ATTENTION: THIS BEHAVIOR ONLY IN SEEKS WITH UDF.
But when i make a dbseek() with found()==.F. the recordpointer also go to lastrec()+1 and no moree seeks are possible!
ATTENTION: THIS BEHAVIOR ONLY IN SEEKS WITH UDF.
Re: ADO RDD xHarbour
Gunther,
Please place a msginfo in ado.seek after ELSE //WITH :FILTER OR MOE THAN ONE FIELD and check if it is called.
You can place another one in the else for not softseek reporting npos.
Please place a msginfo in ado.seek after ELSE //WITH :FILTER OR MOE THAN ONE FIELD and check if it is called.
You can place another one in the else for not softseek reporting npos.
Regards
Antonio H Ferreira
Antonio H Ferreira
Re: ADO RDD xHarbour
Yes, is calledPlease place a msginfo in ado.seek after ELSE //WITH :FILTER OR MOE THAN ONE FIELD and check if it is called.
shows 0You can place another one in the else for not softseek reporting npos.
Re: ADO RDD xHarbour
Code: Select all
IF nPos > 0
oRS:BookMark := aWAData[ WA_ABOOKMARKS ][aWAData[WA_INDEXACTIVE]] [ npos ][ 1 ]
ELSE
oRs:MoveLast()
oRs:MoveNext()
ENDIF
Then the key is not in the array.
Are you trying both seeks with the same key ?
The first that works and the second?
Regards
Antonio H Ferreira
Antonio H Ferreira
Re: ADO RDD xHarbour
Antonio, on both no found()!
Conclusion: Always if i use dbsetorder() before dbseek() and the recordpointer is on lastrec()+1 and a UDF is in work the index is not functioning!
Conclusion: Always if i use dbsetorder() before dbseek() and the recordpointer is on lastrec()+1 and a UDF is in work the index is not functioning!
Re: ADO RDD xHarbour
So its a set order problem!
If you browse it is it ordered ok?
Place again a msginfo( len( aWAData[ WA_ABOOKMARKS ][aWAData[WA_INDEXACTIVE]] ) the same place as before and check if effectively has the index built.
If you browse it is it ordered ok?
Place again a msginfo( len( aWAData[ WA_ABOOKMARKS ][aWAData[WA_INDEXACTIVE]] ) the same place as before and check if effectively has the index built.
Regards
Antonio H Ferreira
Antonio H Ferreira
Re: ADO RDD xHarbour
Gives 72 (the len of table).
Recordpointer stands on lastrec()+1 and the table is not indexed.
Recordpointer stands on lastrec()+1 and the table is not indexed.
Re: ADO RDD xHarbour
Try the same after dbsetorder and check with ordname and ordkey inyour app order is in fact active.
Regards
Antonio H Ferreira
Antonio H Ferreira
Re: ADO RDD xHarbour
Antonio, the name and the key is active!
Re: ADO RDD xHarbour
Len of array is the len of the table!
Re: ADO RDD xHarbour
Try this:
Having the msginfo in ado_seek as previously.
Code: Select all
SET ADODBF TABLES INDEX LIST TO { {"AW2015",{"REV",'REV2TO2(REDATUM)'},{"RR","bu_korrindex(redatum,ideingdat)"},{"EW",'REV2TO2(REDATUM)'} } }
SET ADO INDEX UDFS TO {"IF","&","SUBSTR","SUBS","==","REV2TO2","REVEING","BU_KORRINDEX"}
//TESTADISC->(dbgoto(TESTADISC->(lastrec()+1)))
TESTADISC->(dbsetorder(1))
BROWSE() //IS IT WELL ORDERED ?
GO TOP // TRY WITH AND WITHOUT THIS
BROWSE() //IS IT WELL ORDERED ?
TESTADISC->(dbseek("0227"))
MSGINFO( CVALTOCHAR(FOUND())+" "+CVALTOCHAR(EOF()) ) // .F. .T. ?
GO TOP
MSGINFO(RECNO())
DO WHILE !EOF()
? INDEXKEY(0) //DO YOU SEE THE KEYYOU ARE SEEKING?
SKIP
ENDDO
Browse()
Regards
Antonio H Ferreira
Antonio H Ferreira
Re: ADO RDD xHarbour
Antonio, the results:
Now the recordpointer is NOT on lastrecord()
Code: Select all
//TESTADISC->(dbgoto(TESTADISC->(lastrec()+1)))
TESTADISC->(dbsetorder(1))
BROWSE() //IS IT WELL ORDERED ? -> ordered well
GO TOP // TRY WITH AND WITHOUT THIS //equal
BROWSE() //IS IT WELL ORDERED ? -> ordered well
TESTADISC->(dbseek("0227"))
MSGINFO( CVALTOCHAR(FOUND())+" "+CVALTOCHAR(EOF()) ) // .F. .T. ? -> .T. .F.
GO TOP
MSGINFO(RECNO()) // -> 1
DO WHILE !EOF()
? INDEXKEY(0) //DO YOU SEE THE KEYYOU ARE SEEKING? -> key is right
SKIP
ENDDO
Browse() // -> stands on lastrec()+1
Re: ADO RDD xHarbour
Just a idea: should the lenght of bookmark-array have also reccount()+1?