home *** CD-ROM | disk | FTP | other *** search
- // BDE - (C) Copyright 1995 by Borland International
-
- // Aliases.c
- #include "snipit.h"
-
- //=====================================================================
- // Function:
- // Aliases();
- //
- // Description:
- // This example list the aliases available in the current
- // configuration file.
- //=====================================================================
- void
- Aliases (void)
- {
- hDBIDb hDb; // Handle to the database
- hDBICur hCur; // Handle to the table
- DBIResult rslt; // Return value from IDAPI functions
- CURProps TblProps; // Table properties
- pBYTE pRecBuf; // Record buffer
- DBINAME szDatabase; // String to contain the driver name
- BOOL bIsBlank; // Is the field blank?
- DBDesc dbDesc; // Database descriptor
-
- Screen("*** Alias Information Example ***\r\n");
-
- BREAK_IN_DEBUGGER();
-
- Screen(" Initializing IDAPI...");
- if (InitAndConnect(&hDb) != DBIERR_NONE)
- {
- Screen("\r\n*** End of Example ***");
- return;
- }
-
- Screen(" Setting the database directory... ");
- rslt = DbiSetDirectory(hDb, (pCHAR) szTblDirectory);
- ChkRslt(rslt, "SetDirectory");
-
- rslt = DbiOpenDatabaseList(&hCur);
- if (ChkRslt(rslt, "OpenDatabaseList") != DBIERR_NONE)
- {
- CloseDbAndExit(&hDb);
- Screen("\r\n*** End of example ***");
- return;
- }
-
- // Allocate space for the record buffer.
- rslt = DbiGetCursorProps(hCur, &TblProps);
- ChkRslt(rslt, "GetCursorProps");
-
- pRecBuf = (pBYTE) malloc(TblProps.iRecBufSize * sizeof(BYTE));
- if (pRecBuf == NULL)
- {
- Screen(" Error - Could not allocate memory");
- rslt = DbiCloseCursor(&hCur);
- ChkRslt(rslt, "CloseCursor");
- CloseDbAndExit(&hDb);
- Screen("\r\n*** End of example ***");
- return;
- }
-
- Screen(" Go to the beginning of the table...");
- rslt = DbiSetToBegin(hCur);
- ChkRslt(rslt, "SetToBegin");
-
- // Display information about all available aliases
- // in the configuration file.
- while (DbiGetNextRecord(hCur, dbiNOLOCK, pRecBuf, NULL) == DBIERR_NONE)
- {
- // Get the name of the driver.
- rslt = DbiGetField(hCur, 1, pRecBuf, (pBYTE) szDatabase, &bIsBlank);
- ChkRslt(rslt, "GetField");
-
- // Get the description of the alias.
- rslt = DbiGetDatabaseDesc(szDatabase, &dbDesc);
- if (ChkRslt(rslt, "GetDriverDesc") == DBIERR_NONE)
- {
- // Display the information about the database.
- Screen("\r\n Logical Name or Alias: %s", dbDesc.szName);
- Screen(" Physical Name\\Path: %s", dbDesc.szPhyName);
- Screen(" Database type: %s", dbDesc.szDbType);
- }
- }
-
- // Clean up.
-
- free(pRecBuf);
- rslt = DbiCloseCursor(&hCur);
- ChkRslt(rslt, "CloseCursor");
-
- Screen("\r\n Close the database and exit IDAPI...");
- CloseDbAndExit(&hDb);
-
- Screen("\r\n*** End of Example ***");
- }
-