Salvare numero a 7 cifre in database con MFC C++

di il
5 risposte

Salvare numero a 7 cifre in database con MFC C++

In un database ho un colonna di tipo INT al cui interno devo salvare un COLORREF, che in genere è un numero a 7 cifre, il problema è che quando salvo il numero col codice c++ utilizzando il SetFieldValue viene salvato un altro numero, spesso negativo, ma non capisco il motivo.

5 Risposte

  • Re: Salvare numero a 7 cifre in database con MFC C++

    Il valore del colore espresso in cifra non è un intero. dovresti convertirlo in intero e poi memorizzarlo. al momento di richiamarlo devi riconvertirlo.

  • Re: Salvare numero a 7 cifre in database con MFC C++

    Non è così Andrea.

    Un COLORREF altro non è che una DWORD ovvero un intero senza segno a 32 bit.

    Vale88 se usi un INT vedrai rappresentato il valore con il segno ma quando lo rileggi in un COLORREF sarà tutto corretto quindi non temere.

    Se proprio vuoi, ma non è necessario, per il DB puoi usare un UINT

  • Re: Salvare numero a 7 cifre in database con MFC C++

    13/06/2025 - oregon ha scritto:

    Non è così Andrea.

    Un COLORREF altro non è che una DWORD ovvero un intero senza segno a 32 bit.

    Vale88 se usi un INT vedrai rappresentato il valore con il segno ma quando lo rileggi in un COLORREF sarà tutto corretto quindi non temere.

    Se proprio vuoi, ma non è necessario, per il DB puoi usare un UINT

    Sto vedendo che per il tipo di dati nel database posso usare TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, BIT, cosa sarebbe meglio? 

    Quindi se salva un altro numero poi quando lo rileggo con COLORREF sarà il numero corretto?

  • Re: Salvare numero a 7 cifre in database con MFC C++

    Va bene un INT

    Rileggerai il tuo COLORREF (leggi in un int e applichi il cast a COLORREF)

  • Re: Salvare numero a 7 cifre in database con MFC C++

    13/06/2025 - oregon ha scritto:

    Non è così Andrea.

    Un COLORREF altro non è che una DWORD ovvero un intero senza segno a 32 bit.

    Vale88 se usi un INT vedrai rappresentato il valore con il segno ma quando lo rileggi in un COLORREF sarà tutto corretto quindi non temere.

    Se proprio vuoi, ma non è necessario, per il DB puoi usare un UINT

    Grazie mille, è esattamente come dici

Devi accedere o registrarti per scrivere nel forum
5 risposte