Types de données C par défaut

Si une application spécifie SQL_C_DEFAULT dans SQLBindCol, SQLGetData ou SQLBindParameter, le pilote suppose que le type de données C de la mémoire tampon de sortie ou d’entrée correspond au type de données SQL de la colonne ou du paramètre auquel la mémoire tampon est liée.

Important

Les applications interopérables ne doivent pas utiliser SQL_C_DEFAULT. Au lieu de cela, ils doivent toujours spécifier le type C de la mémoire tampon qu’ils utilisent. En effet, les pilotes ne peuvent pas toujours déterminer correctement le type C par défaut, pour les raisons suivantes :

  • Si le SGBD promeut un type de données SQL d’une colonne ou d’un paramètre, le pilote ne peut pas déterminer le type de données SQL d’origine d’une colonne ou d’un paramètre. Par conséquent, il ne peut pas déterminer le type de données C par défaut correspondant.

  • Si le pilote ne peut pas déterminer si une colonne ou un paramètre particulier est signé, comme c’est souvent le cas lorsque cela est géré par le SGBD, le pilote ne peut pas déterminer si le type de données C par défaut correspondant doit être signé ou non signé.

    Étant donné que SQL_C_DEFAULT est fourni uniquement à des fins de programmation, l’application ne perd aucune fonctionnalité lorsqu’elle spécifie le type de données C réel.

Un tableau montrant le type de données C par défaut pour chaque type de données SQL est inclus dans Conversion de données sql en types de données C, plus loin dans cette annexe.