Exemples de conversion de données SQL en C
Les exemples présentés dans le tableau suivant illustrent la façon dont le pilote convertit des données SQL en données C :
Type SQL identificateur |
Données SQL valeur |
Type C identificateur |
Buffer length |
*TargetValuePtr | SQLSTATE |
---|---|---|---|---|---|
SQL_CHAR | abcdef | SQL_C_CHAR | 7 | abcdef\0[a] | n/a |
SQL_CHAR | abcdef | SQL_C_CHAR | 6 | abcde\0[a] | 01004 |
SQL_DECIMAL | 1234.56 | SQL_C_CHAR | 8 | 1234.56\0[a] | n/a |
SQL_DECIMAL | 1234.56 | SQL_C_CHAR | 5 | 1234\0[a] | 01004 |
SQL_DECIMAL | 1234.56 | SQL_C_CHAR | 4 | ---- | 22003 |
SQL_DECIMAL | 1234.56 | SQL_C_FLOAT | ignoré | 1234.56 | n/a |
SQL_DECIMAL | 1234.56 | SQL_C_SSHORT | ignoré | 1234 | 01S07 |
SQL_DECIMAL | 1234.56 | SQL_C_STINYINT | ignoré | ---- | 22003 |
SQL_DOUBLE | 1.2345678 | SQL_C_DOUBLE | ignoré | 1.2345678 | n/a |
SQL_DOUBLE | 1.2345678 | SQL_C_FLOAT | ignoré | 1.234567 | n/a |
SQL_DOUBLE | 1.2345678 | SQL_C_STINYINT | ignoré | 1 | n/a |
SQL_TYPE_DATE | 1992-12-31 | SQL_C_CHAR | 11 | 1992-12-31\0[a] | n/a |
SQL_TYPE_DATE | 1992-12-31 | SQL_C_CHAR | 10 | ----- | 22003 |
SQL_TYPE_DATE | 1992-12-31 | SQL_C_TIMESTAMP | ignoré | 1992,12,31, 0,0,0,0[b] | n/a |
SQL_TYPE_TIMESTAMP | 1992-12-31 23:45:55.12 | SQL_C_CHAR | 23 | 1992-12-31 23:45:55.12\0[a] | n/a |
SQL_TYPE_TIMESTAMP | 1992-12-31 23:45:55.12 | SQL_C_CHAR | 22 | 1992-12-31 23:45:55.1\0[a] | 01004 |
SQL_TYPE_TIMESTAMP | 1992-12-31 23:45:55.12 | SQL_C_CHAR | 18 | ---- | 22003 |
[a] « \0 » représente un octet de terminaison Null. Le pilote se termine toujours par la valeur Null SQL_C_CHAR données.
[b] Les nombres de cette liste sont les nombres stockés dans les champs de la structure TIMESTAMP_STRUCT.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour