Cursor.FindSingleValue

Ivan Smahin ivan_smahin at paradigmasoft.com
Tue Dec 29 04:40:08 CST 2009


Hello Ivan,

Tuesday, December 29, 2009, 12:36:30 PM, you wrote:

> Hello Thomas,

> Tuesday, December 29, 2009, 11:54:25 AM, you wrote:

>> Hi Ivan,

 >>> vCursor1.put_RecID( RecID_Of_Cursor2 );

>> Yes, this would be perfect, I was already looking for this.
>> but unfortunally something like this is not in VNET 4.3
>> Or am I missing something?

> Well there is another way. Probably even faster one.

> There is a method VCursor::ToArraySet() which produces
> set of original recIDs.
> You may do it once -
> pSet = vCursor1.ToArraySet();

> Then you know how to get an recID using the second cursor.

> And  you  need  only  find  an  appropriate  position  in arrayset for
> particular recID.

> In C++ it should be as simple as
>                 ArraySet_Ptr pSet = pCur->ToArraySet();
>                 vuint32 pos = pSet->FindIndex( inRecID );

> But probably FindIndex() is not implemented for VNET.

> Anyway  you  may get a set iterator (probably you may even sort this set by
> RecID first -  for speeding up searching - see documentation)
> and then looking for position with set iterator.

Here  is  I'm  wrong - you should not sort arayset because you want to
find original position.





-- 
Best regards,
Ivan Smahin 
Senior Software Engineer
Paradigma Software, Inc
Valentina - The Ultra-Fast Database
http://www.valentina-db.com



More information about the Valentina mailing list