Solved

Support for IRowsetIndex in MSJet

Posted on 2000-03-29
2
198 Views
Last Modified: 2013-11-20
I found that there is a property for MSJet 3.51 which is :
DBPROP_JETOLEDB_3.5_ENABLEIRowsetIndex
I am able to get the IRowsetIndex by setting the DBPROP_JETOLEDB_ROWSET'S
DBPROP_JETOLEDB_3_5_ENABLEIRowsetIndex to true
And I can use Seek for an Indexed Table

but MSJET 4.0 does not have it!
Does it mean Microsoft will not support this interface in future and why?
If MS Jet 4.0 does not support this, how else can I use the Seek functions?

Indexed table is a quick way to search. Why is it not supported?
0
Comment
Question by:hshliang
2 Comments
 
LVL 2

Accepted Solution

by:
paulburns earned 50 total points
ID: 2667884
I've never attempted to use IRowsetIndex myself before, but i found this in MSDN which may be relevant...

---------------------------------------

Indexes
While some versions of the 3.5 provider exposed the IRowsetIndex interface, actual OLE DB spec compliance was somewhat lacking. The 3.5 provider did not support setting ranges via IRowsetIndex::SetRange, and the IRowsetIndex::Seek method did not properly implement all seeking options. The final version of the 3.5 code disables this interface because of these limitations. All clients that want to use indexes to seek or set ranges should use the 4.0 code instead of the 3.5 code. The 4.0 provider fully complies with the OLE DB specification in this area.

Although the 4.0 provider supports the Seek and SetRange interfaces, it does not support these methods on file formats other than the 4.0 .mdb file format. To accommodate the OLE DB specification, significant changes and additions had to be made and it was not possible to make these changes to the other Installable ISAMs that Jet uses to access other storage formats, including the IISAMs that access previous formats of .mdb files (which includes those used in Microsoft Access 97).  

SetRange is not currently exposed in ADO.

---------------------------------------
<cut from Microsoft Data Access SDK 2.1 Help>
0
 

Author Comment

by:hshliang
ID: 2675395
I think you did give me the answer, although slightly disappointing. As I am hoping of writing a wrapper that works like the DAO funtions. (like the opentable, setindex and seek)
With OLEDB, it seems like you have to use SQL like SELECT, ORDER BY etc.
Actually, I have spent a lot of time to master the open connection, open a table( rowset) with a name or a SQL statement then read it with GetValue (Accessors etc) and insert rows. Everything worked well, then I realise that I can not go any further to do seek. These are the main functions I use in my old program with DAO. It looks like if I have to move up, (or down) I will have to rewrite all my tables, recordsets in SQL's and Commands
Anyways thank you for giving me the answer.

HENRY

 
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Pressing cancel button with C# UI Automation 3 51
Named range not carried over 10 61
lucky13 challenge 11 120
haveThree challenge 22 112
Introduction: Displaying information on the statusbar.   Continuing from the third article about sudoku.   Open the project in visual studio. Status bar – let’s display the timestamp there.  We need to get the timestamp from the document s…
Introduction: Hints for the grid button.  Nested classes, templated collections.  Squash that darned bug! Continuing from the sixth article about sudoku.   Open the project in visual studio. First we will finish with the SUD_SETVALUE messa…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

930 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now