Dimensioni delle colonne, Cifre decimali, Lunghezza ottetto trasferimento e Dimensioni di visualizzazione - ODBC

I tipi di dati sono caratterizzati dalle dimensioni della colonna (o del parametro), dalle cifre decimali, dalla lunghezza e dalle dimensioni di visualizzazione. Le funzioni ODBC seguenti restituiscono questi attributi per un parametro in un'istruzione SQL o per un tipo di dati SQL in un'origine dati. Ogni funzione ODBC restituisce un set diverso di questi attributi, come indicato di seguito:

  • SQLDescribeCol restituisce le dimensioni della colonna e le cifre decimali delle colonne descritte.

  • SQLDescribeParam restituisce le dimensioni del parametro e le cifre decimali dei parametri descritti. SQLBindParameter imposta le dimensioni del parametro e le cifre decimali per un parametro in un'istruzione SQL.

  • Le funzioni del catalogo SQLColumns, SQLProcedureColumns e SQLGetTypeInfo restituiscono attributi per una colonna in una tabella, un set di risultati o un parametro di routine e gli attributi del catalogo dei tipi di dati nell'origine dati. SQLColumns restituisce le dimensioni della colonna, le cifre decimali e la lunghezza di una colonna nelle tabelle specificate, ad esempio la tabella di base, la vista o una tabella di sistema. SQLProcedureColumns restituisce le dimensioni della colonna, le cifre decimali e la lunghezza di una colonna in una routine. SQLGetTypeInfo restituisce le dimensioni massime della colonna e le cifre decimali minime e massime di un tipo di dati SQL in un'origine dati.

I valori restituiti da queste funzioni per la colonna o la dimensione del parametro corrispondono a "precisione" come definito in ODBC 2.x. Tuttavia, i valori non corrispondono necessariamente ai valori restituiti in SQL_DESC_PRECISION o in qualsiasi altro campo descrittore. Lo stesso vale per le cifre decimali, che corrispondono alla "scala" definita in ODBC 2.x. Non corrisponde necessariamente ai valori restituiti in SQL_DESC_SCALE o in un altro campo descrittore, ma proviene da campi descrittori diversi a seconda del tipo di dati. Per altre informazioni, vedere Dimensioni delle colonne e Cifre decimali.

Analogamente, i valori per la lunghezza dell'ottetto di trasferimento non provengono da SQL_DESC_LENGTH. Provengono dal SQL_DESC_OCTET_LENGTH di un campo di un descrittore per tutti i tipi di caratteri e binari. Non esiste alcun campo descrittore che contiene queste informazioni per altri tipi.

Il valore delle dimensioni di visualizzazione per tutti i tipi di dati corrisponde al valore in un singolo campo descrittore SQL_DESC_DISPLAY_SIZE.

I campi descrittori descrivono le caratteristiche di un set di risultati. I campi descrittori non contengono valori validi sui dati prima dell'esecuzione dell'istruzione. I valori per le dimensioni della colonna, le cifre decimali e le dimensioni di visualizzazione restituite da SQLColumns, SQLProcedureColumns e SQLGetTypeInfo, d'altra parte, restituiscono caratteristiche degli oggetti di database, ad esempio colonne di tabella e tipi di dati, presenti nel catalogo dell'origine dati. Analogamente, nel set di risultati, SQLColAttribute restituisce le dimensioni della colonna, le cifre decimali e la lunghezza dell'ottetto di colonne nell'origine dati. Questi valori non sono necessariamente uguali ai valori nei campi del descrittore SQL_DESC_PRECISION, SQL_DESC_SCALE e SQL_DESC_OCTET_LENGTH.

Per altre informazioni su questi campi descrittore, vedere SQLSetDescField.

Argomenti correlati: