Newsgroup: it.comp.java
Titolo: Incremento di valore

 Ciao a tutti, sono una neofita, ho un picolo problema ma non riesco
proprio a risolvere,
mi aiutate????
Devi incrementare un valore estratto dal database ma non riesco perchè
è una stringa
Il valore estratto per codiceSogg=A001
dovrei incrementare questo valore in A002
Come posso fare, so che il problema per voi è stupido ma adesso non ho
idee mi suggerite?
Come faccio ad incrementare un valore in string dovrei scomporlo?
non lo so!!!!!!!!!!
-----------------------------------------------------------
public class Class {
public static void main(String[] args) throws Exception {
        Class tester = new Class();
        String url = "jdbc:odbc:XXX";
        String userId = "XXX";
        String passWord = "XXX";
        ResultSet rs = null;
        Connection conn = null;
        try{
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
              conn=DriverManager.getConnection(url,userId,passWord);
       }
       catch (ClassNotFoundException e){
                    System.out.println("Impossibile caricare il driver:
"+ e);
       }
      try{
            Statement stmt = conn.createStatement();
            String Query = "select max(subject_registry.code_subject)
from subject_registry";
            rs = stmt.executeQuery(Query);
            rs.next();
            String codiceSogg =
rs.getString("max(subject_registry.code_subject)");
           stmt.close();
           conn.close();
       }
       catch (SQLException e){
                 System.out.println("Errore SQL: "+ e);
       }
    }
}
---------------------------------------------------
Comunque Grazie lo stesso...............

 idee mi suggerite?
"adesso non ho idee" che vuol dire? Amnesia temporanea? :-)
Butto lì di getto, a te almeno l'onere di provare.
strValue =
new DecimalFormat("A000").format(Long.parseLong(strValue.substring(1))
+ 1);

alessia ha scritto:

direi che
fai una sub string di codicesogg ed elimini il primo alfanumerico, in 
modo che ti restano solo cifre, trasformi in intero, incrementi, 
trasformi in stringa, aggiuni gli eventuali zeri necessari in testa e 
riaggiungi la A iniziale.

mi faresti un esempio magari il codice ........scusa forse chiedo
troppo........

 
Dai che ti hanno dato tutti gli indizi..
Guarda le api per String (in particolare substring) e Integer (in 
particolare parseInt). poi incremento e una unione risolvono tutto.
Io non ti posso scrivere nulla perchè sono a lavoro..
Ma provaci..
-- 
Dott. Hellboy
MSN: 
simo...@hotmail.com
IChat: 
simo...@mac.com
http://www.hardboiled.it
MKDS 339363 - 936053

 
Ma lavorare un pochino te, mai?
T'ho detto tutto quello che c'è da sapere, ora via di documentazione.

 troppo........
Ciao, l'esempio ti si fa ma te perche' non cambi lavoro?
         /* prima dell'incremento */
	String codiceSogg = "A001";
        System.out.println(codiceSogg);
        /* viene estrapolata la stringa "001" dalla stringa "A001" */
	String temp = codiceSogg.substring(1, 4);
        /* "001" viene convertito in un intero */
        int number = Integer.parseInt(temp);
        /* viene incrementato l'intero */
        number++;
        /* la stringa che sicuramente vorrai salvare nel database sara'
cosi.... */
	if(number < 10)
	    codiceSogg = "A00" + number;
	if(number >= 10 && number < 100)
	    codiceSogg = "A0" + number;
	if(number >= 100)
	    codiceSogg = "A" + number;
        /* risultato dopo l'incremento */
	System.out.println(codiceSogg);
Segui il consiglio...... :)