Solved

Support for IRowsetIndex in MSJet

Posted on 2000-03-29
2
189 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

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Here is how to use MFC's automatic Radio Button handling in your dialog boxes and forms.  Beginner programmers usually start with a OnClick handler for each radio button and that's just not the right way to go.  MFC has a very cool system for handli…
In this article, I'll describe -- and show pictures of -- some of the significant additions that have been made available to programmers in the MFC Feature Pack for Visual C++ 2008.  These same feature are in the MFC libraries that come with Visual …
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.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

757 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

18 Experts available now in Live!

Get 1:1 Help Now