Da C a SQL: ora
L'identificatore per l'ora in cui il tipo di dati ODBC C è:
SQL_C_TYPE_TIME
La tabella seguente illustra i tipi di dati SQL ODBC in cui è possibile convertire i dati C. Per una spiegazione delle colonne e dei termini nella tabella, vedere Conversione di dati da C a tipi di dati SQL.
Identificatore del tipo SQL | Test | SQLSTATE |
---|---|---|
SQL_CHAR SQL_VARCHAR SQL_LONGVARCHAR |
Lunghezza >byte colonna = 8 Lunghezza < byte colonna 8 Il valore dei dati non è un'ora valida |
N/D 22001 22008 |
SQL_WCHAR SQL_WVARCHAR SQL_WLONGVARCHAR |
Lunghezza >carattere colonna = 8 Lunghezza < carattere colonna 8 Il valore dei dati non è un'ora valida |
N/D 22001 22008 |
SQL_TYPE_TIME | Il valore dei dati è un'ora valida Il valore dei dati non è un'ora valida |
N/D 22007 |
SQL_TYPE_TIMESTAMP | Il valore dei dati è un'ora valida[a] Il valore dei dati non è un'ora valida |
N/D 22007 |
[a] La parte relativa alla data del timestamp viene impostata sulla data corrente e la parte dei secondi frazionari del timestamp è impostata su zero.
Per informazioni sui valori validi in una struttura SQL_C_TYPE_TIME, vedere Tipi di dati C, in precedenza in questa appendice.
Quando i dati C vengono convertiti in dati SQL di tipo carattere, i dati dei caratteri risultanti sono nel formato "hh:mm:ss".
Il driver ignora il valore di lunghezza/indicatore durante la conversione dei dati dal tipo di dati C time e presuppone che le dimensioni del buffer di dati siano le dimensioni del tipo di dati time C. Il valore di lunghezza/indicatore viene passato nell'argomento StrLen_or_Ind in SQLPutData e nel buffer specificato con l'argomento StrLen_or_IndPtr in SQLBindParameter. Il buffer di dati viene specificato con l'argomento DataPtr in SQLPutData e l'argomento ParameterValuePtr in SQLBindParameter.