Cast de variante vers le type long
Bonjour,
J'ai un soucis que je n'arrive pas à comprendre dans le cast d'un variant contenant un entier long vers un type "long"
Code:
1 2 3 4 5
| DataTypeEnum nDataType = (DataTypeEnum)(long) FieldsPtr->GetItem("DATA_TYPE")->Value;
_variant_t vtLong = FieldsPtr->GetItem("CHARACTER_MAXIMUM_LENGTH")->Value;
long iLongueur = 0;
if(vtLong.vt != VT_NULL)
iLongueur = (long)vtLong; |
Comme vous le voyez, je travaille avec une base de données et ADO comme interface !!
Ce code marche avec Sql Server mais avec oracle par ex, il y a erreur lors du "iLongueur = (long)vtLong", cela est capturé avec un try...catch... plus exactement lorsque vtLong est une grande valeur car nDataType = adBinary (le type binaire en base de données).
Je ne sais si vous avez déja rencontré un tel cas, que faire