From: Thiago on
Hi All,

a few days ago I asked why I was getting the ERROR 87 when writing a EDB
record with a empty FILETIME field and get back that was 'ommited from the
docs'.

Now I´m having a similar problem with the CeSeekDatabaseEx funcion,
especially when used with the CEDB_SEEK_CEOID flag, in the documentation,
MSDN says that isn´t necessary to open the database with a sort order when
seeking with this flag, but if I do this, get the ERROR 87
(INVALID_PARAMETER).
The function only works (find a record sucessfully) when I open the database
specifing with sort order.

Did you have known that the documentation maybe wrong?


In the documentation is:

---
The ERROR_INVALID_PARAMETER may be returned in the following situations:

x. The database was opened without a specified sort order, and dwSeekType is
a value other than the following:
CEDB_SEEK_CEOID
CEDB_SEEK_BEGINNING
CEDB_SEEK_CURRENT
CEDB_SEEK_END.

All other seek types require the use of a sort order.
---
link:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcedata5/html/wce50lrfCeSeekDatabaseExEDB.asp

Thanx in advance,
Thiago

From: rick on
your experience is consistent with mine. I believe a sort order is
required for EDB in general.

The docs for EDB also say that, unlike CEDB, no default sort order is
implied when you open a database. So, where CEDB would have let you
SEEK_END, etc., EDB will not because it does not apply *any* ordering
to the records.

However, it was still a surprise to me that SEEK_CEOID would fail
without a sort order -- given that you are uniquely identifying the
record.

rick