🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.database.ado
Article #1833

Re: Index search method to use

#1833
From: Alain M. Dube
Date: Wed, 21 Jan 2004 15:27
87 lines
4014 bytes
Thanks Pat for the info.  I tried it and it works fine.  Can you shed some
light as to how/if the SQL statement "WHERE" clause employs a table's
indices to retrieve the desired data most efficiently?  Does the
TADOQuery->IndexName influence index usage for a query?

Thanks again.

Regards;

Al Dube


"Pat" <pat-rizioAGR@libero.it> wrote in message
news:400e5c27@newsgroups.borland.com...
> Hi Al,
> I think you can use also a TADOQuery component just as follow:
>
> TADOQuery->Close();
> TADOQuery->SQL->Clear();
> TADOQuery->SQL->Add("SELECT * FROM " + TableName + " WHERE parentID >=
10");
> TADOQuery->Open();
>
> Regards,
> Pat
>
>
>
> Alain M. Dube wrote:
>
> > I've encountered a problem with ADO and Access:
> >
> > My access database has five tables, each table as multiple indices.
> >
> > I'm using a TADOConnection and a TADOTable to access the MS Access DB;
code
> > below used to setup the objects:
> >
> > #define CONNECT_STRING_FMT     "Provider=Microsoft.Jet.OLEDB.4.0;Data
> > Source=%s;User Id=admin;Password="
> >
> >             // Create a DB Connection COM Object Instance
> >             mpConnection = new TADOConnection(NULL);
> >             mpConnection->ConnectOptions = coConnectUnspecified;
> >             mpConnection->CursorLocation = clUseClient;
> >             mpConnection->IsolationLevel = ilCursorStability;
> >             mpConnection->LoginPrompt = false;
> >             mpConnection->Mode = cmShareDenyNone;
> >             strConnectionString = Format(CONNECT_STRING_FMT,
> > OPENARRAY(TVarRec, (strMediaLibraryDBPath)));
> >             mpConnection->ConnectionString = strConnectionString;
> >             mpConnection->Connected = true;
> >
> >             // Create a Table Object Instance for the Container Table
> >             mpContainerTable = new TADOTable(NULL);
> >             mpContainerTable->Active = false;
> >             mpContainerTable->Connection = mpConnection;
> >             mpContainerTable->CursorType = ctKeyset;
> >             mpContainerTable->TableName  = TABLE_NAME_CONTAINER;
> >             mpContainerTable->IndexName  = INDEX_NAME_PRIMARY;
> >             mpContainerTable->Active = true;
> >
> >             {  ... repeat for each addition table...  }
> >
> > I intend on doing all of the normal database management stuff:  a)  add,
> > modify and delete records, b) search tables using various indices, c)
> > transaction bracketing, etc.  What method is recommended for doing
> > index-based search using a relational operator?
> >
> > example:  get record whose parentID >= 10
> >
> > In DAO, the recordset.seek() allows a relational operator on one or more
key
> > values against the current index.  Is there an equivalent?
> >
> > Thanks in advance for your help.
> >
> > Regards;
> >
> > Al Dube
> >
> >
>
>
> -- 
> remove AGR for reply
>
Technical Details
Message-ID: <400e9a51$1@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newshosting.com!nx02.iad01.newshosting.com!diablo.voicenet.com!cycny01.gnilink.net!cyclone1.gnilink.net!bigfeed2.bellsouth.net!bigfeed.bellsouth.net!news.bellsouth.net!peer01.cox.net!cox.net!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail
References: <400e1da8$1@newsgroups.borland.com> <400e5c27@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10698b,cb3d0ba8006d975c
X-Google-Attributes: gid10698b,public
X-Google-ArrivalTime: 2004-01-21 07:37:05 PST
From: "Alain M. Dube" <adube@cadencesoftware.com>
Newsgroups: borland.public.cppbuilder.database.ado
References: <400e1da8$1@newsgroups.borland.com> <400e5c27@newsgroups.borland.com>
Subject: Re: Index search method to use
Date: Wed, 21 Jan 2004 10:27:05 -0500
Lines: 89
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: 24.2.157.230
Message-ID: <400e9a51$1@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1074698833 24.2.157.230 (21 Jan 2004 07:27:13 -0700)
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newshosting.com!nx02.iad01.newshosting.com!diablo.voicenet.com!cycny01.gnilink.net!cyclone1.gnilink.net!bigfeed2.bellsouth.net!bigfeed.bellsouth.net!news.bellsouth.net!peer01.cox.net!cox.net!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail