Problema incremento stringa
gorkj
gorkj non è online. Ultima attività: 05/12/2007 23.01.06gorkj
il 5 dicembre 2007 alle 18.07
2 messaggi dal 02 dicembre 2007
Ciao un quesito che mi rea problemi
Estraggo da una colonna di tipo varchar una stringa composta cosi 000000001 io devo incrementare di uno questo valore come posso fare? Ho usato la funzione sscanf per estrarre il numero in un'intero e incrementarlo però ho, in questo caso 2 nell'intero se volgio farlo tornare una stringa con gli zero come faccio? (naturalmente la cosa deve valere per qualsiasi numero anche 002568002)
L'unica soluzione che m,i è venuta in mente è leggere quanti zeri ci sono a destra del primo numero diverso da zero e rimetterli dentro successivamente in caso però sia un 9 non deve metterne uno, è l'unico modo?
Grazie mille.
Microsoft Employee
RE: Problema incremento stringa
AlessC-MSFT
AlessC-MSFT non è online. Ultima attività: 04/02/2009 9.09.42AlessC-MSFT
il 6 dicembre 2007 alle 06.27
Contributi | Blog | 175 messaggi dal 04 giugno 2007
Assumendo C standard o C++:

// Converti la stringa in intero con
intero = atoi(stringaDalDB);
//incrementi
intero++;
//Converti l'intero in stringa di nove caratteri con zeri a complemento con
sprintf(buffer,"%9d",intero);

Saluti

--Alessandro

P.S. non era piu' semplice (ed efficiente) avere nel database un intero?
RE: Problema incremento stringa
efran.cobisi
efran.cobisi non è online. Ultima attività: 09/01/2008 13.22.16efran.cobisi
il 6 dicembre 2007 alle 10.47
Contributi | 47 messaggi dal 18 settembre 2006
Visto che fai riferimento a campi di database, c'è sempre la possibilità di operare direttamente all'interno di quest'ultimo, ammesso che il sistema lo permetta.

Nel caso di SQL Server 7.0+, ad esempio, puoi utilizzare una query di aggiornamento simile a questa:

UPDATE MyTable
SET MyField = REPLACE(STR(MyField + 1, 9), ' ', '0')
WHERE ...

HTH

Efran Cobisi
Solution developer, consultant and trainer
MCAD, MCT, MCTS: SQL Server 2005

Vai a:
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.

Powered by .db Forums "Caesar Reborn" v. 2009.6.9