Salve a tutti. Ho riscontrato un problema nel prelevare dati da un database.
Ho un database con una colonna di tipo data che vorrei convertire in String nel momento in cui viene letta da java altrimenti non è possibile essere inserita in un arraylist. Mi spiego meglio:
codice:
String id = "isbn";
String matricola = "09409340935";
GregorianCalendar uno = new GregorianCalendar();
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
Date inizioPrestito = uno.getTime();
uno.add(GregorianCalendar.DAY_OF_MONTH, 15);
Date finePrestito = uno.getTime();
String a = sdf.format(inizioPrestito);
String b = sdf.format(finePrestito);
System.out.println(a + " -> " + b);
DbConnection.getInstance().eseguiAggiornamento("insert into prestito values" +
" ("+null+", '"+id+"' , '"+matricola+"' , '"+a+"' , '"+b+"')");
In questo modo inserisco i valori nel database. Il problema è che quando vado a prelevare il valore di fine prestito mi dà errore, che è questo
codice:
Exception in thread "main" java.lang.NumberFormatException: For input string: "2012-03-05"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Long.parseLong(Unknown Source)
at java.lang.Long.parseLong(Unknown Source)
at unisalento.business.dbinterface.dao.PrestitoDAO.getPrestiti(PrestitoDAO.java:36)
at unisalento.business.core.model.test.Test3.main(Test3.java:40)
n.b. nelle classi le date sono trattate come long, solo all'inserimento è scritto nel modo in cui ho postato. Credo ci sia una gran confusione, vi chiedo di chiarirmela, grazie!