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 所傳回之結果集的第四欄中,針對資料表類型傳回的 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);