[VSDK.framework] mMyTable.GetRecID() problems after SQL query

Eric Forget forgete at cafederic.com
Mon Nov 10 22:01:39 CST 2003


Hi Ruslan,

I've found a weird problem. First, let's look at the code snippet:

void
MyDB::GotoRecord(UInt32 index)
{
    FBL_REC_ID    recID = (*mArray)(index);
    
    if (mMyTable.GetRecID() != recID) {
    
        mMyTable.GoToRecord(recID);
        
        // May take some time: execute a an SQL statements and then
        // copy them to FBL_ArraySet members as a cache.
        UpdateFirstRelatedArray();
        UpdateSecondRelatedArray();
    }
}

I call it from a lot of places. That's why there is an if statement: to not
doing things not necessary.

Unfortunately, the if statement seems to not working. I have a lot weird
behavior: wrong data is displayed. If I remove the if statement, it seems to
work fine, just a lot slower. I've tried to remove the index file, without
success!

If it could gives you any hint, I'm doing other SQL queries before calling
MyDB::GotoRecord() that use mMyTable.

I've tried it with both VSDK.framework 1.9.8 and the just downloaded
VSDK.framework 1.10b. I cannot guaranty, but I pretty sure it was working
with last spring versions...

Do you have any idea?

Éric

___________________________________________________________________

 Eric Forget                       Cafederic
 ForgetE at cafederic.com             <http://www.cafederic.com/>

 Fingerprint <86D5 38F5 E1FD 5D9C 71C3  BAA3 797E 70A4 6210 C684>




More information about the Valentina mailing list