ADS question?

Post Reply
User avatar
dutch
Posts: 1395
Joined: Fri Oct 07, 2005 5:56 pm
Location: Thailand

ADS question?

Post by dutch »

Dear All,

I've used Clip52e/FW/Comix,Clipmore.
Now I move to xHB.Com/ FWH /ADS.
Which do I include .CH file to my .prg?

ADS.CH
DBFCDXAX.CH
etc...

Thanks&Regards,
Dutch
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Post by nageswaragunupudi »

I work with Borland version of xHarbour.org. Only ads.ch is enough. dbfcdxax.ch is for Clipper 16bit
Regards

G. N. Rao.
Hyderabad, India
User avatar
fafi
Posts: 169
Joined: Mon Feb 25, 2008 2:42 am

Post by fafi »

Hi Mr. NageswaraRao, G.

Greeting from Indonesia

Can I get samples how to use ADS ?

Regards
Fafi
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Post by nageswaragunupudi »

Simple sample

Code: Select all

#include "fivewin.ch"
#include "ads.ch"

function Main()

   RddRegister( "ADS", 1 )
   AdsSetServerType( ADS_LOCAL_SERVER )  // 1
   USE CUSTOMER NEW SHARED VIA "ADSCDX"  // or "ADSNTX" or "ADT"
   BROWSE()

return nil
Regards

G. N. Rao.
Hyderabad, India
User avatar
fafi
Posts: 169
Joined: Mon Feb 25, 2008 2:42 am

Post by fafi »

Thank's for quick reply

Regards
Fafi
User avatar
dutch
Posts: 1395
Joined: Fri Oct 07, 2005 5:56 pm
Location: Thailand

Post by dutch »

Dear nageswaragunupudi,
nageswaragunupudi wrote:I work with Borland version of xHarbour.org. Only ads.ch is enough. dbfcdxax.ch is for Clipper 16bit
How can I use Filter for ADS? May I have samples?

Regards,
Dutch
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Post by nageswaragunupudi »

Mr Duch

Use the filters in the normal way.
SET FILTER TO ..............
or
DbSetFilter( .... )

The rddads.lib converts these function into ADS native filter functions.

But please keep these points in mind.

Please do not use UDFs. We should use expressions that the Server should understand. That is no alias names. If we have indexes on the fieldnames used in the filter expression, ADS Server creates bitmap filter very fast. ( like comix, six, etc ). If not the ADS server can not fully optimise the filter. In such cases, the unopimised portion is to be resolved at the client level. This normally delays execution.

Once you get used to the ADS functionality and like to use the direct ADS functions, then the rddads.lib supports such direct calls also. For Ads documentation, I suggest you download ARC ( Advantage Data Architect ) from ADS website. This is free. Its help file gives all documentation of ACE32.DLL . RddAds.lib in turn calls these functions in ace32.dll.

But to start with use well known functions like dbsetfilter or the usual commands.
Regards

G. N. Rao.
Hyderabad, India
User avatar
dutch
Posts: 1395
Joined: Fri Oct 07, 2005 5:56 pm
Location: Thailand

Post by dutch »

How different between DbSetFilter() and AdsSetAof()?
Which one does faster?
How can I know how many record are match with filter()

Regards,
Dutch
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Post by nageswaragunupudi »

When you call DbSetFilter, rddads.lib in turn calls AdsSetAof. DbSetFilter sets the filter both at rdd level and also at ads server level with AdsSetAof, so that the filter works even when the expression is not valid for AdsFilter.

To start with it is better to use DbSetFilter.

AdsKeyCount() gives the number of filterd records, after the filter is set.
Regards

G. N. Rao.
Hyderabad, India
User avatar
dutch
Posts: 1395
Joined: Fri Oct 07, 2005 5:56 pm
Location: Thailand

Post by dutch »

Dear nageswaragunupudi,

Where can I find the ADS function document for using with xHB&FWH?
nageswaragunupudi wrote: AdsKeyCount() gives the number of filterd records, after the filter is set.
Regards,
Dutch
Post Reply