Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
SQLBindParameter
peut éliminer le fardeau de la conversion de données lorsqu’elle est utilisée pour fournir des données pour le pilote ODBC SQL Server Native Client, ce qui entraîne des gains de performances significatifs pour les composants client et serveur des applications. D’autres avantages incluent une perte de précision réduite lors de l’insertion ou de la mise à jour des types de données numériques approximatifs.
Remarque
Lors de l’insertion et wchar
du type de char
données dans une colonne image, la taille des données transmises est utilisée, par opposition à la taille des données après la conversion dans un format binaire.
Si le pilote ODBC SQL Server Native Client rencontre une erreur sur un seul élément de tableau d’un tableau de paramètres, le pilote continue d’exécuter l’instruction pour les éléments de tableau restants. Si l’application a lié un tableau d’éléments d’état de paramètre pour l’instruction, les lignes de paramètres générant des erreurs peuvent être déterminées à partir du tableau.
Lorsque vous utilisez le pilote ODBC SQL Server Native Client, spécifiez SQL_PARAM_INPUT lors de la liaison de paramètres d’entrée. Spécifiez uniquement SQL_PARAM_OUTPUT ou SQL_PARAM_INPUT_OUTPUT lors de la liaison des paramètres de procédure stockée définis avec le mot clé OUTPUT.
SQLRowCount n’est pas fiable avec le pilote ODBC SQL Server Native Client si un élément de tableau d’un tableau de paramètres liés provoque une erreur dans l’exécution de l’instruction. L’attribut d’instruction ODBC SQL_ATTR_PARAMS_PROCESSED_PTR signale le nombre de lignes traitées avant que l’erreur ne se produise. L’application peut ensuite parcourir son tableau d’état de paramètre pour découvrir le nombre d’instructions correctement exécutées, si nécessaire.
Paramètres de liaison pour les types de caractères SQL
Si le type de données SQL passé est un type de caractère, ColumnSize est la taille en caractères (et non en octets). Si la longueur de la chaîne de données en octets est supérieure à 8 000, ColumnSize doit être définie SQL_SS_LENGTH_UNLIMITED
sur , indiquant qu’il n’existe aucune limite à la taille du type SQL.
Par exemple, si le type de données SQL est SQL_WVARCHAR
, ColumnSize ne doit pas être supérieur à 4 000. Si la longueur réelle des données est supérieure à 4 000, ColumnSize doit être définie SQL_SS_LENGTH_UNLIMITED
pour qu’elle nvarchar(max)
soit utilisée par le pilote.
Paramètres SQLBindParameter et Table-Valued
Comme d’autres types de paramètres, les paramètres table sont liés par SQLBindParameter.
Une fois qu’un paramètre table a été lié, ses colonnes sont également liées. Pour lier les colonnes, vous appelez SQLSetStmtAttr pour définir SQL_SOPT_SS_PARAM_FOCUS sur l’ordinal du paramètre table. Ensuite, appelez SQLBindParameter pour chaque colonne dans le paramètre table. Pour revenir aux liaisons de paramètres de niveau supérieur, définissez SQL_SOPT_SS_PARAM_FOCUS sur 0.
Pour plus d’informations sur le mappage des paramètres aux champs de descripteur pour les paramètres table, consultez Liaison et transfert de données de paramètres Table-Valued et valeurs de colonne.
Pour plus d’informations sur les paramètres table, consultez Paramètres table (ODBC) .
Prise en charge de SQLBindParameter pour les fonctionnalités de date et d’heure améliorées
Les valeurs de paramètres des types date/heure sont converties comme décrit dans Conversions de C en SQL. Notez que les paramètres de type time
et datetimeoffset
doivent avoir ValueType spécifié comme SQL_C_DEFAULT
ou SQL_C_BINARY
si leurs structures correspondantes (SQL_SS_TIME2_STRUCT
et SQL_SS_TIMESTAMPOFFSET_STRUCT
) sont utilisées.
Pour plus d’informations, consultez Améliorations de date et d’heure (ODBC).
Prise en charge de SQLBindParameter pour les UDT CLR volumineux
SQLBindParameter
prend en charge les types clR définis par l’utilisateur (UDT). Pour plus d’informations, consultez Les types CLR définis par l’utilisateur (ODBC) volumineux.
Voir aussi
Détails de l’implémentation d’API ODBC
fonction SQLBindParameter