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"
Comme vous le voyez, je travaille avec une base de données et ADO comme interface !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
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
Partager