C Examples: DbiOpenFieldXlt

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

C Examples: DbiOpenFieldXlt

Return to chapter overview

Build a field descriptor object for field translation (physical/logical):

DBIResult fDbiOpenFieldXlt(hDBICur hSrcCur, hDBICur hDesCur, phDBIXlt pXlt)

{

   DBIResult      rslt;

   pFLDDesc       psrcFldDesc;

   pFLDDesc       pdesFldDesc;

   CURProps       sCurProps;

   CURProps       dCurProps;

   BOOL           bDataLoss;

 

   Chk(DbiGetCursorProps(hSrcCur, &sCurProps));

   Chk(DbiGetCursorProps(hDesCur, &dCurProps));

   psrcFldDesc =(pFLDDesc)malloc((sizeof(FLDDesc))*(sCurProps.iFields));

   pdesFldDesc =(pFLDDesc)malloc((sizeof(FLDDesc))*(dCurProps.iFields));

   Chk(DbiGetFieldDescs(hSrcCur, psrcFldDesc));

   Chk(DbiGetFieldDescs(hDesCur, pdesFldDesc));

   rslt = Chk(DbiOpenFieldXlt(szPARADOX, "hebrew", &psrcFldDesc[1],

                              szDBASE, "hebrew", &pdesFldDesc[1],

                              &bDataLoss, pXlt));

   if(bDataLoss == TRUE)

      //Data Loss Possible

   return rslt;

}