|
From: dindin on 5 Jul 2006 22:43 Hi all, I'm using ppc2003 sdk to develop a app that operate CEDB. my database name is filedb, db struct: property 1 name CEVT_LPWSTR property 2 fielid CEVT_UI4 property 3 filepath CEVT_LPWSTR create db: SORTORDERSPECEX rgSortSpecs; rgSortSpecs.wVersion = 1; rgSortSpecs.wNumProps = 1; rgSortSpecs.wKeyFlags = CEDB_SORT_UNIQUE; rgSortSpecs.rgdwFlags[0] = CEDB_SORT_NONNULL; rgSortSpecs.rgPropID[0] = CEVT_LPWSTR; //SPECIFY DATBASE INOFRMATION CEDBASEINFOEX stDBInfo; stDBInfo.wVersion = 1; stDBInfo.wNumSortOrder = 0; stDBInfo.dwNumRecords = 0; stDBInfo.dwFlags = CEDB_VALIDNAME|CEDB_VALIDSORTSPEC; wcscpy(stDBInfo.szDbaseName, dbname); CEOID oid = CeCreateDatabaseEx2(&m_guid, &stDBInfo); open db: SORTORDERSPECEX rgSortSpecs; rgSortSpecs.wVersion = 1; rgSortSpecs.wNumProps = 1; rgSortSpecs.wKeyFlags = CEDB_SORT_UNIQUE; rgSortSpecs.rgdwFlags[0] = CEDB_SORT_NONNULL; rgSortSpecs.rgPropID[0] = CEVT_LPWSTR; HANDLE hDB=CeOpenDatabaseEx2( &m_guid, // guid of mounted database &oid, // object identifier of database dbname, // name of database 0, // &rgSortSpecs, // Property id for sort order 0, // auto increment record pointer on ReadRecord NULL); // do not receive notifications seek db: CEPROPVAL val; val.val.lpwstr=name; val.propid=CEVT_LPWSTR; DWORD dwIndex; CEOID oid =CeSeekDatabase(hDB, CEDB_SEEK_VALUEFIRSTEQUAL, (DWORD)&val, &dwIndex); seek result: oid is 0 GetLastError() return ERROR_SEEK, which means The drive cannot locate a specific area or track on the disk. question: 1. I want to use name as sort order, but when i open db, which variant of SORTORDERSPECEX define the name is sort order ? 2. when I seek with CEVT_LPWSTR, it seek with name or filepath ? 3. Why search result return ERROR_SEEK? Thanks in advance.
|
Pages: 1 Prev: SHCreateMenu fails on some devices Next: Resouce Constant ID |