所有目录函数均接受参数,应用程序可以使用这些参数来限制返回数据的范围。 例如,以下代码中对 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 的参数类型。
| 函数 | 参数 | Type when SQL_ ATTR_METADATA_ ID = SQL_FALSE |
Type when SQL_ ATTR_METADATA_ ID = SQL_TRUE |
|---|---|---|---|
| SQLColumnPrivileges | CatalogName SchemaName TableName ColumnName | OA OA OA PV | ID ID ID ID |
| SQLColumns | CatalogName SchemaName TableName ColumnName | OA PV PV PV | ID ID ID ID |
| SQLForeignKeys | PKCatalogName PKSchemaName PKTableName FKCatalogName FKSchemaName FKTableName | OA OA OA OA OA OA | ID ID ID ID ID ID |
| SQLPrimaryKeys | CatalogName SchemaName TableName | OA OA OA | ID ID ID |
| SQLProcedureColumns | CatalogName SchemaName ProcName ColumnName | OA PV PV PV | ID ID ID ID |
| SQLProcedures | CatalogName SchemaName ProcName | OA PV PV | ID ID ID |
| SQLSpecialColumns | CatalogName SchemaName TableName | OA OA OA | ID ID ID |
| SQLStatistics | CatalogName SchemaName TableName | OA OA OA | ID ID ID |
| SQLTablePrivileges | CatalogName SchemaName TableName | OA PV PV | ID ID ID |
| SQLTables | CatalogName SchemaName TableName TableType | PV PV PV VL | ID ID ID VL |
本部分包含以下主题。