// BDE - (C) Copyright 1995 by Borland International // TblInfo.c #include "snipit.h" static const char szTblName1[] = "orders"; static const char szTblType1[] = szPARADOX; //===================================================================== // Function: // TblInfo(); // // Description: // This example displays information about a table, including: // fields, indexes, validity checks, referential integrity, // and security descriptors. //===================================================================== void TblInfo (void) { DBIResult rslt; // Return value from IDAPI functions hDBIDb hDb; // Handle to the database hDBICur hListCur; // Cursor handle used for the lists of // information Screen("*** Getting Table Information ***\r\n"); BREAK_IN_DEBUGGER(); Screen(" Initializing IDAPI... "); if (InitAndConnect(&hDb) != DBIERR_NONE) { Screen("*** End of Example ***"); return; } Screen(" Setting the database directory..."); rslt = DbiSetDirectory(hDb, (pCHAR) szTblDirectory); ChkRslt(rslt, "SetDirectory"); Screen(" Get the fields for the %s table...", szTblName1); rslt = DbiOpenFieldList(hDb, (pCHAR) szTblName1, (pCHAR) szTblType1, FALSE, &hListCur); ChkRslt(rslt, "OpenFieldList"); Screen(" Display the fields of the %s table as IDAPI types...", szTblName1); DisplayInMemoryTable(hListCur, 0); Screen("\r\n Close the schema table..."); rslt = DbiCloseCursor(&hListCur); ChkRslt(rslt, "CloseCursor"); Screen(" Get the list of indexes on the %s table...", szTblName1); rslt = DbiOpenIndexList(hDb, (pCHAR) szTblName1, (pCHAR) szTblType1, &hListCur); ChkRslt(rslt, "OpenIndexList"); Screen(" Display the indexes on the %s table...", szTblName1); DisplayInMemoryTable(hListCur, 0); Screen("\r\n Close the schema table..."); rslt = DbiCloseCursor(&hListCur); ChkRslt(rslt, "CloseCursor"); Screen(" Get the validity checks for the %s table...", szTblName1); rslt = DbiOpenVchkList(hDb, (pCHAR) szTblName1, (pCHAR) szTblType1, &hListCur); ChkRslt(rslt, "OpenVchkList"); Screen(" Display the validity checks of the %s table...", szTblName1); DisplayInMemoryTable(hListCur, 0); Screen("\r\n Close the schema table..."); rslt = DbiCloseCursor(&hListCur); ChkRslt(rslt, "CloseCursor"); Screen(" Get the referential integrity links for the %s table...", szTblName1); rslt = DbiOpenRintList(hDb, (pCHAR) szTblName1, (pCHAR) szTblType1, &hListCur); ChkRslt(rslt, "OpenRintList"); Screen(" Display the referential integrity links for the %s" " table...", szTblName1); DisplayInMemoryTable(hListCur, 0); Screen("\r\n Close the schema table..."); rslt = DbiCloseCursor(&hListCur); ChkRslt(rslt, "CloseCursor"); Screen(" Get the security descriptors for the %s table...", szTblName1); rslt = DbiOpenSecurityList(hDb, (pCHAR) szTblName1, (pCHAR) szTblType1, &hListCur); ChkRslt(rslt, "OpenSecurityList"); Screen(" Display the security descriptors for the %s" " table...", szTblName1); DisplayInMemoryTable(hListCur, 0); Screen("\r\n Close the schema table..."); rslt = DbiCloseCursor(&hListCur); ChkRslt(rslt, "CloseCursor"); Screen(" Get the family list for the %s table...", szTblName1); rslt = DbiOpenFamilyList(hDb, (pCHAR) szTblName1, (pCHAR) szTblType1, &hListCur); ChkRslt(rslt, "OpenFamilyList"); Screen(" Display the family list for the %s table...", szTblName1); DisplayInMemoryTable(hListCur, 0); Screen("\r\n Close the schema table..."); rslt = DbiCloseCursor(&hListCur); ChkRslt(rslt, "CloseCursor"); Screen(" Close the database and exit IDAPI..."); CloseDbAndExit(&hDb); Screen("\r\n*** End of Example ***"); }