Tipi di dati C predefiniti

Se un'applicazione specifica SQL_C_DEFAULT in SQLBindCol, SQLGetData o SQLBindParameter, il driver presuppone che il tipo di dati C dell'output o del buffer di input corrisponda al tipo di dati SQL della colonna o del parametro a cui è associato il buffer.

Importante

Le applicazioni interoperabili non devono usare SQL_C_DEFAULT. Devono invece specificare sempre il tipo C del buffer in uso. Ciò è dovuto al fatto che i driver non possono sempre determinare correttamente il tipo C predefinito, per i motivi seguenti:

  • Se DBMS promuove un tipo di dati SQL di una colonna o di un parametro, il driver non può determinare il tipo di dati SQL originale di una colonna o di un parametro. Pertanto, non può determinare il tipo di dati C predefinito corrispondente.

  • Se il driver non è in grado di determinare se una determinata colonna o un parametro è firmata, come spesso accade quando questo viene gestito da DBMS, il driver non può determinare se il tipo di dati C predefinito corrispondente deve essere firmato o non firmato.

    Poiché SQL_C_DEFAULT viene fornito solo per praticità di programmazione, l'applicazione non perde alcuna funzionalità quando specifica il tipo di dati C effettivo.

Una tabella che mostra il tipo di dati C predefinito per ogni tipo di dati SQL è inclusa in Conversione di dati da SQL a tipi di dati C, più avanti in questa appendice.