ADS question?
ADS question?
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
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
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
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
G. N. Rao.
Hyderabad, India
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
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.
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
G. N. Rao.
Hyderabad, India
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
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.
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
G. N. Rao.
Hyderabad, India