Attributi di istruzione

Gli attributi di istruzione sono caratteristiche dell'istruzione. Ad esempio, il fatto di usare segnalibri o meno e il tipo di cursore da utilizzare con il set di risultati dell'istruzione sono attributi di istruzione.

Gli attributi di istruzione vengono impostati con SQLSetStmtAttr e le loro impostazioni correnti vengono recuperate con SQLGetStmtAttr. Non vi è alcun requisito che stabilisce che un'applicazione debba impostare tutti gli attributi di istruzione. Per tutti gli attributi di istruzione sono disponibili valori predefiniti, alcuni dei quali specifici del driver.

Quando un attributo di istruzione può essere impostato dipende dall'attributo stesso. È necessario impostare gli attributi di istruzione SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR e SQL_ATTR_USE_BOOKMARKS prima dell'esecuzione dell'istruzione. Gli attributi di istruzione SQL_ATTR_ASYNC_ENABLE e SQL_ATTR_NOSCAN possono essere impostati in qualsiasi momento, ma non vengono applicati finché l'istruzione non viene usata di nuovo. Gli attributi di istruzione SQL_ATTR_MAX_LENGTH, SQL_ATTR_MAX_ROWS e SQL_ATTR_QUERY_TIMEOUT possono essere impostati in qualsiasi momento, ma il fatto che vengano applicati prima che l'istruzione venga usata di nuovo o meno dipende dal driver. Gli attributi di istruzione rimanenti possono essere impostati in qualsiasi momento.

Nota

La possibilità di impostare gli attributi di istruzione a livello di connessione chiamando SQLSet Connessione Attr è stata deprecata in ODBC 3.x. Le applicazioni ODBC 3.x non devono mai impostare attributi di istruzione a livello di connessione. I driver ODBC 3.x devono supportare questa funzionalità solo se devono funzionare con applicazioni ODBC 2.x. Per ulteriori informazioni, vedere Mapping SQLSetConnectOption nell’Appendice G: Linee guida del driver per la compatibilità con le versioni precedenti.

Un'eccezione è costituita dagli attributi SQL_ATTR_METADATA_ID e SQL_ATTR_ASYNC_ENABLE, che sono sia attributi di connessione che attributi di istruzione e possono essere impostati a livello di connessione o a livello di istruzione.

Nessuno degli attributi di istruzione introdotti in ODBC 3.x (ad eccezione di SQL_ATTR_METADATA_ID) può essere impostato a livello di connessione.

Per ulteriori informazioni, vedere la descrizione della funzione SQLSetStmtAttr.