Domanda

Ho questo problema .. Ho un hashmap contenente la stringa come chiave e oggetto come valore. Ho un oggetto di data al suo interno ... mentre imposta il valore per la chiamata di procedura memorizzata a DB, voglio convertirlo in tipo di data SQL ..

Frammento di codice ..

this.cStmt.setDate(15,(java.sql.Date) (SubsProfile.get(Constants.SUBSC_DETAILS_EXPIRY_DATE_1)));

Tuttavia, durante l'esecuzione, sto ottenendo ClasscastException ..

Eccezione:-

java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date

Per favore aiutami a convertirlo in tipo di appropriazione ...

È stato utile?

Soluzione

Questo perché, come dice l'eccezione, il tuo oggetto è Java.util. Date, e lo stai lanciando su Java.SQL.Data!

Fai questo:

java.sql.Date sqlDate = new java.sql.Date(((java.util.Date)SubsProfile.get(Constants.SUBSC_DETAILS_EXPIRY_DATE_1)).getTime());
this.cStmt.setDate(15,sqlDate);

Altri suggerimenti

Ottieni il lungo valore dell'oggetto Java.util.Date che hai e crea un oggetto Java.sql.Date usando quel valore lungo.

java.util.date utildate = new java.util.date ();

java.sql.date sqldate = new java.sql.date (utilda.getTime ());

Questo dovrebbe aiutarti a convertire util.date in sql.date

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top