home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / bde / sdksrc.pak / TBLOPEN.PAS < prev    next >
Pascal/Delphi Source File  |  1997-07-23  |  4KB  |  110 lines

  1. { tblopen.pas }
  2. program TblOpen;
  3.  
  4. {$IfDef VER80}
  5. uses SnipTool, SnipData, SysUtils, WinTypes, WinProcs,
  6.      DbiProcs, DbiTypes, DbiErrs;
  7. {$Else}
  8. uses WinTypes, WinCrt, Strings, DbiProcs, DbiTypes, DbiErrs,
  9.      SnipTool, SnipData;
  10. {$EndIf}
  11.  
  12. const
  13.    szTblName = 'cust';  { Name of table to be opened }
  14.    szTblType = szDBASE; { Type of the above table }
  15.  
  16. {=====================================================================
  17.    Function:
  18.            TableOpen();
  19.  
  20.    Description:
  21.            This example shows how to open and close a table.
  22.  ===================================================================== }
  23.  
  24. var
  25.     rslt: DBIResult;     { Value returned from IDAPI functions }
  26.     hDb: hDBIDb;         { Handle to the database }
  27.     hCur: hDBICur;       { Handle to the table }
  28.  
  29. begin
  30.     Screen('*** Opening a Table ***');
  31.  
  32.     Screen('    Initializing IDAPI...');
  33.     InitOutput;
  34.     rslt := ChkRslt(DbiInit(nil), DBIERR_NONE, '    Error - Init');
  35.     if (rslt <> DBIERR_NONE) then { Check if successfull }
  36.     begin
  37.         Screen('');
  38.         Screen('*** End of Example ***');
  39.         CloseOutput;
  40.         exit;
  41.     end;
  42.  
  43.     { Open the standard database. Notice that we are opening the
  44.       database in READWRITE mode and SHARED mode. }
  45.     Screen('    Opening Standard Database...');
  46.     if (ChkRslt(DbiOpenDatabase('', nil, dbiREADWRITE, dbiOPENSHARED,
  47.                                 nil, 0, nil, nil, hDb),
  48.         DBIERR_NONE, '    Error - OpenDatabase.') <> DBIERR_NONE) then
  49.     begin
  50.         { Clean up since an error occured }
  51.         ChkRslt(DbiExit, DBIERR_NONE, '    Error - Exit.');
  52.         Screen('');
  53.         Screen('*** End of Example ***');
  54.         CloseOutput;
  55.         exit;
  56.     end;
  57.  
  58.     Screen('    Set the directory which is used by the database...');
  59.     ChkRslt(DbiSetDirectory(hDb, pCHAR(szTblDirectory)), DBIERR_NONE,
  60.             '    Error - SetDirectory.');
  61.  
  62.     { Open the table. The important options are:
  63.       hDb           - Handle to the database of the table
  64.                       Paradox and dBASE use the STANDARD database
  65.       szTblName     - Name of the table
  66.       szTblType     - Type of the table - not needed if the table name
  67.                       contains an extension
  68.       dbiREADWRITE  - Open the table for both Reading and Writting
  69.       DBIOPENSHARED - Open the table in shared mode - other
  70.                       applications can have concurrent access
  71.       xltFIELD      - Field values are translated from Internal Paradox
  72.                       types to types useable in the application.  }
  73.     Screen('    Opening the '+szTblName+' Table...');
  74.     if (ChkRslt(DbiOpenTable(hDb, pCHAR(szTblName), pCHAR(szTblType),
  75.                              nil, nil, 0, dbiREADWRITE,
  76.                              dbiOPENSHARED, xltFIELD, FALSE, nil,
  77.                              hCur),
  78.                 DBIERR_NONE, '    Error - OpenTable.') <> DBIERR_NONE) then
  79.     begin
  80.         Screen('    Close the standard database...');
  81.         ChkRslt(DbiCloseDatabase(hDb), DBIERR_NONE,
  82.                 '    Error - CloseDatabase.');
  83.         Screen('    Exit IDAPI...');
  84.         ChkRslt(DbiExit, DBIERR_NONE, '    Error - Exit.');
  85.         Screen('');
  86.         Screen('*** End of Example ***');
  87.         CloseOutput;
  88.         exit;
  89.     end;
  90.  
  91.     Screen('');
  92.     Screen('    The '+szTblName+' table was opened successfully!');
  93.     Screen('');
  94.     Screen('    Close the '+szTblName+' table...');
  95.     ChkRslt(DbiCloseCursor(hCur), DBIERR_NONE,
  96.             '    Error - CloseCursor.');
  97.  
  98.     Screen('    Close the standard database...');
  99.     ChkRslt(DbiCloseDatabase(hDb), DBIERR_NONE,
  100.             '    Error - CloseDatabase.');
  101.  
  102.     Screen('    Exit IDAPI...');
  103.     ChkRslt(DbiExit, DBIERR_NONE, '    Error - Exit.');
  104.  
  105.     Screen('');
  106.     CloseOutput;
  107.     Screen('*** End of Example ***');
  108.  
  109. end.
  110.