Konwersja z java.sql.Date na java.util.Date

0

Witam
Mam nastepujacy problem. Pobieram dane za pomoca "SELECT..." do rseta. Jednym poleceniem wybieram date: Date data = rset.getDate(i); W wyniku otrzymuje typ java.sql.Date. Potrzebuje wrzucic te dane do pliku Excel, korzystam z biblioteki jxl. Zeby utworzyc "komorki" przechowujace date wykonuje:

 DateFormat customDateFormat = new DateFormat ("dd MMM yyy");
WritableCellFormat dateFormat = new WritableCellFormat (customDateFormat);
DateTime dateCell = new DateTime(0, 6, "element wybrany ze zbioru rset")

I tu pojawia sie moj problem. Zakladam ze, DateTime dateCell = new .... jako trzeciego argumentu potrzebuje typu java.util.Date a ja mam java.sql.Date. Jak chce zapisac utworzony typ komorki to otrzymuje wyjatek null pointer exception, bo chyba konwersja sie nie wykonuje i nie ma co zapisac. Czy ktoś z Was moze mi powiedziec czy konwersja tych dwoch typow jest w ogóle mozliwa i jak ja wykonac? Z gory dziekuje za odpowiedz.
Pozdrawiam

0

Konwersja wykonuje się bo java.sql.Date dziedziczy po java.util.Date. Raczej podejrzewam iż rset.getDate() zwraca null czyli coś na linii baza-aplikacja.
Pokaż kod rseta

0

Prosze, to ten kod:

                                             while (rset.next()){
					    	
					    	NR_INW = rset3.getString(1);
					    	NAZWA = rset3.getString(2);
					    	NR_FABR = rset3.getString(3);
					    	NAZWA_ZAM = rset3.getString(4);
					    	ZAK_POM = rset3.getString(5);
					    	DATA_NAST_POM = rset3.getDate(6);
                                                  }

Problematyczna jest DATA_NAST_POM, zadeklarowalam ja jako Data (java.util).

0

To zadeklaruj jako sql.Date lub dokonaj rzutowania. Rzutowanie w górę (tak jak w tym przypadku) musi być jawne:

DATA_NAST_POM = (java.util.Date)(rset3.getDate(6));
0

Juz takiego rzutowania probowalam, niestety nie pomoglo :( Potem zapisuje to do ArrayList i ak dawalam funkcje array.get(i).getClass() to nadal bylo java.sql.Date.

1 użytkowników online, w tym zalogowanych: 0, gości: 1