Vérifications de la valeur des arguments
Le Gestionnaire de pilotes case activée les types d’arguments suivants. Sauf indication contraire, le Gestionnaire de pilotes retourne SQL_ERROR pour les erreurs dans les valeurs d’argument.
Les handles d’environnement, de connexion et d’instruction ne peuvent généralement pas être des pointeurs Null. Le Gestionnaire de pilotes retourne SQL_INVALID_HANDLE lorsqu’il trouve un handle Null.
Les arguments de pointeur requis, tels que OutputHandlePtr dans SQLAllocHandle et CursorName dans SQLSetCursorName, ne peuvent pas être des pointeurs Null.
Les indicateurs d’option qui ne prennent pas en charge les valeurs propres au pilote doivent être une valeur légale. Par exemple, l’opération dans SQLSetPos doit être SQL_POSITION, SQL_REFRESH, SQL_UPDATE, SQL_DELETE ou SQL_ADD.
Les indicateurs d’option doivent être pris en charge dans la version d’ODBC prise en charge par le pilote. Par exemple, InfoType dans SQLGetInfo ne peut pas être SQL_ASYNC_MODE (introduit dans ODBC 3.0) lors de l’appel d’un pilote ODBC 2.0.
Les nombres de colonnes et de paramètres doivent être supérieurs ou supérieurs à 0, selon la fonction. Le pilote doit case activée la limite supérieure de ces valeurs d’argument en fonction du jeu de résultats actuel ou de l’instruction SQL.
Les arguments longueur/indicateur et les arguments de longueur de mémoire tampon de données doivent contenir des valeurs appropriées. Par exemple, l’argument qui spécifie la longueur d’un nom de table dans SQLColumns (NameLength3) doit être SQL_NTS ou une valeur supérieure à 0 ; BufferLength dans SQLDescribeCol doit être supérieur ou égal à 0. Le pilote peut également avoir besoin de case activée ces arguments. Par exemple, il peut case activée que NameLength3 est inférieur ou égal à la longueur maximale d’un nom de table dans la source de données.