ADO Variant -> __int64 Konvertierung



  • Hallo, ich habe eine kleine ADO-Datenbankanbingung gemacht, welche teilweise sehr grosse Zahlenwerte beinhaltet.
    Nun habe ich das Problem beim Auslesen dieser Werte.
    Es handelt sich dabei (zwangsweise und leider nicht änderbar) um den Datentyp
    __int64.
    Ich dachte nun ich könnte den folgendermassen konvertieren:

    __int64 CDatabase::VariantToInt64(_variant_t vValue)
    {
    	vValue.ChangeType(VT_I8);
    	__int64 n64Value=V_I8(&vValue);
    	return n64Value;
    }
    

    Aber bei vValue.ChangeType(VT_I8) gibts ne unhandled exception.
    Trage ich jedorch VT_I4 ein funktioniert die umwandlung, aber kann ich da sicherstellen, dass da ein __int64 reinpasst ?

    Anschliessend habe ich folgendes versucht:

    __int64 CDatabase::VariantToInt64(_variant_t vValue)
    {
    	return (__int64) vValue;
    }
    

    Da bekomme ich folgende Fehlermeldung:
    error C2440: 'type cast' : cannot convert from 'class _variant_t' to '__int64'

    Ich hoffe mir kann jemand helfen !



  • *pleasehelp* <- is nämlich ne mfc-anwendung *traurigschau*


Anmelden zum Antworten