185 messaggi dal 14 novembre 2003
Salve,
ho una pagina asp che prima funzionava ora non più.
Mi da errore : TIPO NON CORRISPONDENTE

Il codice incriminato è :

dim_mailbox = Round(dim_mailbox_kb/"1048576",3)

Il valore dim_mailbox viene da una somma che faccio da una tabella MSSQL per il campo messagesize :

set rs_calc=conn_calc.execute ("Select SUM(messagesize) as somma_messaggi from hm_messages where messageaccountid='" & rs_account_dectails("accountid") & "'")

dim_mailbox_kb = rs_calc("somma_messaggi")

Il problema è nato da quando la TIPOLOGIA del campo messagesize è passata da 'int' a 'bigint'.
Infatti se imposto la tipologia in 'int' tutto funge.
Se torno in 'bigint' mi da errore in questa riga:

dim_mailbox = Round(dim_mailbox_kb/"1048576",3)

TIPO NON CORRISPONDENTE.

Come posso risolverla?
Grazie

 - FRESH IS BETTER !
3.122 messaggi dal 16 maggio 2002
Dividere un numero per una stringa???
Togli quelle virgolette, per quale motivo le hai messe??

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
185 messaggi dal 14 novembre 2003
Ciao,
ho provato anche senza virgolette.
Il campo int è numerico.Giusto? solo limitato da 4 cifre.
Il campo bigint è sempre numerico ma di 8 cifre.
Spaglio?

 - FRESH IS BETTER !
3.122 messaggi dal 16 maggio 2002
Non so la dimensione dei tipi di dato, controlla sulla documentazione di sql server. Io non lo uso, ho solo risposto perché il fatto di dividere un numero per una stringa è una castroneria che non sta nè in cielo nè in terra (e non ha alcun senso).

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
185 messaggi dal 14 novembre 2003
Ciao,
si hai ragione.Infatti ho levato le "" era una fesseria
Il problema mi rimane però.
Come è possibile che un campo 'int' sia diverso da bigint?Non sono mumerici tutti e due?

dim_mailbox = Round(dim_mailbox_kb/1048576,3)

Io devo dividere il valore dim_mailbox_kb per 1048576 .
Aiuto!!!

 - FRESH IS BETTER !
579 messaggi dal 28 gennaio 2004
secondo me implica un consumo di risorse le diff tra i due campi
INT 4 byte da -2147483648 a +2147483647 da 0 a +4294967295

BIGINT 8 byte da -9223372036854775808 a +9223372036854775807 da 0 a +18446744073709550615

alle volte il fatto di usare 8 anziche 4 byte puo portare ad un errata interpretazione, prova con dei valori differenti e vedi se il problema persiste
185 messaggi dal 14 novembre 2003
Il problema è che non decido io il valore del campo.
LO decide il DB dell'applicativo al quale tramite MSSQL mi connetto.
Devo dividere quella cifra .
come posso farE?

 - FRESH IS BETTER !
579 messaggi dal 28 gennaio 2004
uhmm aspe, se nn ho capito male tu sei obbligare ad usare un campo DB bigint e questo valore pescato dal campo va diviso per X?

quindi il risultato dove devi metterlo?
se hai l'obbligo del bigint secondo me potresti provare a far eun casting e trasformarlo in un int tanto se nn ho visto male sei ampiamente dentro i suoi parametri, al che finite le operazioni eseguite con un int lo riutilizzi come meglio credi.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.