SQLTables

可以对静态服务器游标执行 SQLTables。尝试对可更新的(动态或键集)游标执行 SQLTables 时,将返回 SQL_SUCCESS_WITH_INFO 以指示游标类型已更改。

当 CatalogName 参数为 SQL_ALL_CATALOGS 并且所有其他参数都包含默认值(NULL 指针)时,SQLTables 报告所有数据库中的表。

若要报告可用目录、架构和表类型,SQLTables 以特殊方式利用空字符串(长度为零字节的指针)。空字符串不是默认值(NULL 指针)。

SQL Server Native Client ODBC 驱动程序通过接受由两部分组成的 CatalogName 参数名称 Linked_Server_Name.Catalog_Name,支持报告链接服务器上的表的信息。

SQLTables 返回其名称与 TableName 匹配且所有者为当前用户的任何表的相关信息。

SQLTables 和表值参数

当语句属性 SQL_SOPT_SS_NAME_SCOPE 采用值 SQL_SS_NAME_SCOPE_TABLE_TYPE 而不是其默认值 SQL_SS_NAME_SCOPE_TABLE 时,SQLTables 返回有关表类型的信息。在 SQLTables 返回的结果集的第 4 列中,为表类型返回的 TABLE_TYPE 值为 TABLE TYPE。有关 SQL_SOPT_SS_NAME_SCOPE 的详细信息,请参阅 SQLSetStmtAttr

表、视图和同义词共享公用的命名空间,该命名空间不同于表类型使用的命名空间。虽然表和视图不能具有相同的名称,但是在相同目录和架构中的表和表类型可以具有相同的名称。

有关表值参数的详细信息,请参阅表值参数 (ODBC)

示例

// Get a list of all tables in the current database.
SQLTables(hstmt, NULL, 0, NULL, 0, NULL, 0, NULL,0);

// Get a list of all tables in all databases.
SQLTables(hstmt, (SQLCHAR*) "%", SQL_NTS, NULL, 0, NULL, 0, NULL,0);

// Get a list of databases on the current connection's server.
SQLTables(hstmt, (SQLCHAR*) "%", SQL_NTS, (SQLCHAR*)"", 0, (SQLCHAR*)"",
    0, NULL, 0);

请参阅

概念

其他资源