所有目录函数均接受参数,应用程序可以使用这些参数来限制返回数据的范围。 例如,以下代码中对 SQLTables 的第一次和第二次调用将返回一个结果集,其中包含有关所有表的信息,而第三个调用则返回有关 Orders 表的信息:
SQLTables(hstmt1, NULL, 0, NULL, 0, NULL, 0, NULL, 0);
SQLTables(hstmt2, NULL, 0, NULL, 0, "%", SQL_NTS, NULL, 0);
SQLTables(hstmt3, NULL, 0, NULL, 0, "Orders", SQL_NTS, NULL, 0);
目录函数字符串参数分为四种不同类型:普通参数 (OA)、模式值参数 (PV)、标识符参数 (ID) 和值列表参数 (VL)。 大多数字符串参数可以是两种不同的类型之一,具体取决于 SQL_ATTR_METADATA_ID 语句属性的值。 下表列出了每个目录函数的参数,并描述了 SQL_TRUE or SQL_FALSE 值 SQL_ATTR_METADATA_ID 的参数类型。
| 函数 | 参数 | SQL_时键入 ATTR_METADATA_ ID = SQL_FALSE |
当出现SQL_时键入 ATTR_METADATA_ ID = SQL_TRUE |
|---|---|---|---|
| SQLColumnPrivileges | CatalogNameSchemaNameTableNameColumnName | OA OA OA PV | ID ID ID ID |
| SQLColumns | CatalogNameSchemaNameTableNameColumnName | OA PV PV PV | ID ID ID ID |
| SQLForeignKeys | PKCatalogNamePKSchemaNamePKTableNameFKCatalogNameFKSchemaNameFKTableName | OA OA OA OA OA OA | ID ID ID ID ID ID |
| SQLPrimaryKeys | CatalogNameSchemaNameTableName | OA OA OA | ID ID ID |
| SQLProcedureColumns | CatalogNameSchemaNameProcNameColumnName | OA PV PV PV | ID ID ID ID |
| SQLProcedures | CatalogNameSchemaNameProcName | OA PV PV | ID ID ID |
| SQLSpecialColumns | CatalogNameSchemaNameTableName | OA OA OA | ID ID ID |
| SQLStatistics | CatalogNameSchemaNameTableName | OA OA OA | ID ID ID |
| SQLTablePrivileges | CatalogNameSchemaNameTableName | OA PV PV | ID ID ID |
| SQLTables | CatalogNameSchemaNameTableNameTableType | PV PV PV VL | ID ID ID VL |
本部分包含以下主题。