JetGetObjectInfo() does not get record count by default

We recently had the following question:  I am trying to get the space occupied by each table that we have by using JetGetObjectInfo. The api succeeds but it returns 0 for both number of cRecords and cPages.   JET_OBJECTINFO tableInfo = {0}; hr = ::JetGetObjectInfoA(m_spSession->GetSessionId(), m_dbId, JET_objtypTable, nullptr, strTableName, &tableInfo, sizeof(tableInfo), JET_ObjInfo); if (FAILED(hr)) return…

0

Introduction to Indices

ESE is an ISAM engine — Indexed Sequential Access Method. Wikipedia has an article on ISAMs: http://en.wikipedia.org/wiki/ISAM. ESE allows you to insert data in a structured manner, with data types such as integer or strings. Then you need to be able to find the data, which is where indexing comes in. As one co-worker put it…

0

Sharp Corner: Close a table after creating it

The ESENT API has existed for a while, so there are quite a few oddities to it. After creating a database with ESENT, you need to close the returned JET_TABLEID. The original way to create a usable table was to create the table with JetCreateTable, add some columns with repeated calls to JetAddColumn, then index…

0

ManagedEsent is Metro Compliant

I’m inaugurating this blog with an announcement: ManagedEsent is Metro Compliant. What does this mean to you? If you write a Metro program in C#, you can grab ManagedEsent from CodePlex (http://managedesent.codeplex.com) and you can use your favourite ESENT APIs from from C#, and still pass certification. The update is currently available only in source form (http://managedesent.codeplex.com/SourceControl/list/changesets)….

0