?
Solved

Support for IRowsetIndex in MSJet

Posted on 2000-03-29
2
Medium Priority
?
234 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 2

Accepted Solution

by:
paulburns earned 150 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

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

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

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…
Introduction: Dialogs (1) modal - maintaining the database. Continuing from the ninth article about sudoku.   You might have heard of modal and modeless dialogs.  Here with this Sudoku application will we use one of each type: a modal dialog …
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.
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
Suggested Courses

770 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