J'ai écrit la requête ci-dessous en fonction de l'aide fournie dans ce lien, querying binary column using like in sql serverColdFusion: cfqueryparam pour les valeurs binaires
SELECT * FROM myTable
WHERE TestData >= 0x00010000
AND TestData < 0x00020000;
Il a donné les résultats attendus. Je cfqueryparam
et mis à jour la requête comme:
SELECT * FROM myTable
WHERE TestData >= <cfqueryparam value="0x00010000" cfsqltype="cf_sql_binary">
AND TestData < <cfqueryparam value="0x00020000" cfsqltype="cf_sql_binary">;
mais il est revenu avec des erreurs, le message d'erreur: Invalid data 0x00010000 for CFSQLTYPE CF_SQL_BINARY.
J'ai essayé avec cfsqltype="CF_SQL_BLOB"
mais aucun résultat. Comment réparer ce problème? Merci à l'avance
L'erreur est probablement parce que vous passez une chaîne, pas une valeur binaire. Essayez '#BinaryDecode ('00010000', 'Hex') #'? –
Vous n'aurez peut-être pas besoin d'utiliser cfqueryparams ici - si les valeurs sont statiques (non fournies dynamiquement par un tiers), et vous n'avez pas plusieurs requêtes avec seulement les valeurs changeantes (ie SQL identique sauf pour les valeurs binaires), alors il n'y a probablement aucun avantage à le faire. –
Merci son fonctionnement. vous avez raison, pour les valeurs statiques, il n'y a aucun avantage. Mais toujours notre client veut cette fonctionnalité. Encore merci. – RajVish