SQLTables
È possibile eseguire sqlTable in un cursore server statico. Un tentativo di eseguire tabelle SQLTable su un cursore aggiornabile (dinamico o keyset) restituirà SQL_SUCCESS_WITH_INFO che indica che il tipo di cursore è stato modificato.
SQLTables segnala tabelle da tutti i database quando il parametro CatalogName è SQL_ALL_CATALOGS e tutti gli altri parametri contengono valori predefiniti (puntatori NULL).
Per segnalare cataloghi, schemi e tipi di tabella disponibili, SQLTables usa speciali stringhe vuote (puntatori a byte di lunghezza zero). Le stringhe vuote non sono valori predefiniti (puntatori NULL).
Il driver ODBC SQL Server Native Client supporta la creazione di report per le tabelle nei server collegati accettando un nome in due parti per il parametro CatalogName: Linked_Server_Name.Catalog_Name.
SQLTables restituisce informazioni sulle tabelle i cui nomi corrispondono a TableName e sono di proprietà dell'utente corrente.
SQLTables e parametri con valori di tabella
Quando l'attributo di istruzione SQL_SOPT_SS_NAME_SCOPE ha il valore SQL_SS_NAME_SCOPE_TABLE_TYPE, anziché il valore predefinito di SQL_SS_NAME_SCOPE_TABLE, SQLTables restituisce informazioni sui tipi di tabella. Il valore TABLE_TYPE restituito per un tipo di tabella nella colonna 4 del set di risultati restituito da SQLTables è TABLE TYPE. Per altre informazioni su SQL_SOPT_SS_NAME_SCOPE, vedere SQLSetStmtAttr.
Tabelle, viste e sinonimi condividono uno spazio dei nomi comune che è distinto dallo spazio dei nomi utilizzato dai tipi di tabella. Anche se non è possibile avere una tabella e una vista con lo stesso nome, è possibile avere una tabella e un tipo di tabella con lo stesso nome nello stesso catalogo e schema.
Per altre informazioni sui parametri con valori di tabella, vedere Parametri con valori di tabella (ODBC).
Esempio
// 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);
Vedere anche
Funzione SQLTables
Dettagli di implementazione dell'API ODBC