locked
EDB读写数据库 RRS feed

  • 问题

  • 使用EDB读写数据库,不知道CeGetDatabaseProps中取得的pcPropId和CeReadRecordPropsEx中取得的lpcPropId为何不一致。

    • 使用CeGetDatabaseProps
    WORD cePropId;
    CeGetDatabaseProps(hDBOpened[dwOpenedIndex],&cePropID,NULL,NULL))
    CEPROPID rgPropIDs = new CEPROPID[cePropID + 1];
    cepropspecBaseCopy = new CEPROPSPEC[cePropID + 1];
    for (int z = 0;z < cePropID;z++)
    {
    cepropspecBaseCopy[Z].wVersion = CEPROPSPEC_VERSION;
          cepropspecBaseCopy[Z].pwszPropName = new wchar_t[CEDB_MAXDBASENAMELEN];
          cepropspecBaseCopy[Z].cchPropName = CEDB_MAXDBASENAMELEN;
    }

    CeGetDatabaseProps(hDBOpened[dwOpenedIndex],
                &cePropID,
                NULL,
                cepropspecBaseCopy))
       


    • 使用CeReadRecordPropsEx
    ceoidFindRecord = CeReadRecordPropsEx(
                hDBOpened[dwOpenedIndex],
                CEDB_ALLOWREALLOC,  &cePropID,
                0,
                (LPBYTE*)&Buffer,
                &dwSizeOfBuffer,
                hHeap)



    请各位有相关经验的达人不吝赐教。

    2008年11月14日 8:02