FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour ADS and autoincremental fields
Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
ADS and autoincremental fields
Posted: Mon Feb 24, 2020 10:38 AM
Hi,

Is there a way to support it in dbf databases:

Code (fw): Select all Collapse
{ "ID",         "+",  10,   0 }


Thank you.
Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: ADS and autoincremental fields
Posted: Mon Feb 24, 2020 07:34 PM
MOISES wrote:Hi,

Is there a way to support it in dbf databases:

Code (fw): Select all Collapse
{ "ID",         "+",  10,   0 }


Thank you.

This is already supported in DBFCDX.
fwh\samples\customer.dbf has the first field ID as autoinc field.
Regards



G. N. Rao.

Hyderabad, India
Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
Re: ADS and autoincremental fields
Posted: Mon Feb 24, 2020 07:40 PM

Yes, but I asked in ADS. I get an error: field type not supported.

Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: ADS and autoincremental fields
Posted: Mon Feb 24, 2020 10:05 PM
this example work with ads
Code (fw): Select all Collapse
#include "common.ch"
#include "dbinfo.ch"
#include "ads.ch"

REQUEST ADS
//REQUEST DBFCDX, DBFFPT
REQUEST HB_LANG_ESWIN, HB_CODEPAGE_ESWIN

//EXTERNAL OrdKeyNo, OrdKeyCount, OrdKeyGoTo, OrdKeyRelPos
EXTERNAL AdsKeyNo, AdsKeyCount, AdsGetRelKeyPos, AdsSetRelKeyPos

PROCEDURE Main()
  LOCAL aStruct := { ;
         { "CHARACTER", "C", 25, 0 }, ;
         { "NUMERIC"  , "N",  8, 0 }, ;
         { "DOUBLE"   , "N",  8, 2 }, ;
         { "DATE"     , "D",  8, 0 }, ;
         { "LOGICAL"  , "L",  1, 0 }, ;
         { "MEMO1"    , "M", 10, 0 }, ;
         { "MEMO2"    , "M", 10, 0 }, ;
         { "MYRECNO"  , "+", 4, 0  }  } /*work ok with + and Autoinc*/

  hb_LangSelect(  "ESWIN" )
  hb_SetCodePage( "ESWIN" )

  RddSetDefault( "ADS" )
   
  set date brit
  set cent on
  set opti on
  set dele on
  
  SET SERVER LOCAL
  SET AXS LOCKING OFF
  SET RIGHTS CHECKING OFF
  SET CHARTYPE TO ANSI
  SET FILETYPE TO ADT
  
  SetMode(25,80)
  cls
  
  WAIT "Exist table: " + iif( hb_dbExists( "testdbf" ), "Si", "No" )
  
  IF !hb_dbExists( "testdbf" )
    DbCreate( "testdbf", aStruct, "ADS", .T., "mylias" )
    index on CHARACTER to char01
  ELSE
    USE testdbf NEW ALIAS myalias
    SET INDEX TO char01
    WAIT "IndexOrder: " + hb_ntos( OrdNumber() ) + " / " + OrdKey()
  ENDIF
  
  Browse()
  
  use
  
RETURN
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
Re: ADS and autoincremental fields
Posted: Tue Feb 25, 2020 09:50 AM

Thank you very much, Carlos.

The problem occurs if a DBF with autoincremental created with DBFCDX is opened with ADS, then it fails.

We must re-generate the table with the ADS driver.

Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: ADS and autoincremental fields
Posted: Tue Feb 25, 2020 05:48 PM
yes, not work. ace fail open customer.dbf from fwh sample folder!
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
Re: ADS and autoincremental fields
Posted: Wed Feb 26, 2020 10:02 AM

Yes, thats the problem.

It seems that ADS is abandoned by Sybase. Am i right?

Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40

Continue the discussion