SQLTables
SQLTable 可以在靜態伺服器資料指標上執行。 嘗試在可更新 (動態或索引鍵集上執行 SQLTable,) 資料指標將會傳回SQL_SUCCESS_WITH_INFO指出資料指標類型已變更。
當 CatalogName 參數SQL_ALL_CATALOGS時,SQLTables 會報告所有資料庫的資料表,而所有其他參數都包含預設值 (Null 指標) 。
為了報告可用的目錄、架構和資料表類型,SQLTables 會特別使用空字串, (長度為零的位元組指標) 。 空字串不是預設值 (NULL 指標)。
SQL Server Native Client ODBC 驅動程式支援透過接受CatalogName參數的兩部分名稱來報告連結伺服器上的資料表資訊:Linked_Server_Name.Catalog_Name。
SQLTable 會傳回任何名稱符合 TableName 且由目前使用者擁有之資料表的相關資訊。
SQLTables 和資料表值參數
當語句屬性SQL_SOPT_SS_NAME_SCOPE具有值SQL_SS_NAME_SCOPE_TABLE_TYPE,而不是其預設值SQL_SS_NAME_SCOPE_TABLE時,SQLTables 會傳回資料表類型的相關資訊。 SQLTable 所傳回結果集第 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);