[PostgreSQL] JDBC i interval
=?iso-8859-2?Q?=A3ukasz?= - 14-07-2006 02:45
[PostgreSQL] JDBC i interval
Witam
Używam drivera JDBC. Chciałbym wykorzystać typ interval, ale w dokumentacji java.sql.PreparedStatement nie ma wzmianki o tym typie. To trochę dziwne, biorąc pod uwagę, że jest to typ SQL 99. Chciałbym użyć tego typu bo jest to bardziej eleganckie niż BIGINT.
Czy ktoś zna sposób na wykorzystanie tego typu bez pisania własnej obsługi komunikacji z bazą danych?
Z góry dzięki
Adam Buraczewski - 14-07-2006 02:46
Łukasz <lechll.NIKT_NIE_LUBI.SPAMU@poczta.onet.pl> wrote: > Używam drivera JDBC. Chciałbym wykorzystać typ interval, ale w dokumentacji > java.sql.PreparedStatement nie ma wzmianki o tym typie. To trochę dziwne, > biorąc pod uwagę, że jest to typ SQL 99. Chciałbym użyć tego typu bo jest to > bardziej eleganckie niż BIGINT.
Sterownik JDBC do PostgreSQLa jak najbardziej obsługuje ten typ, chociaż faktycznie jest to rozszerzenie względem standardu JDBC. Musisz używać w tym celu obiektów klasy org.postgresql.util.PGInterval i funkcji setObject() z PreparedStatement oraz getObject() z ResultSet. Coś w stylu:
import org.postgresql.util.PGInterval;
ps = conn.prepareStatement("INSERT INTO t VALUES (?)"); PGInterval i = new PGInterval(1, 2, 3, 4, 5, 6); ps.setObject(1, i);
...
ResultSet rs = ... PGInterval i = (PGInterval) rs.getObject(1);
Zajrzyj do źródeł sterownika JDBC, a przekonasz się jaką ta klasa ma funkcjonalność.
Generalnie autorzy tego sterownika przewidzieli nawet takie rzeczy jak dodawanie własnych typów danych do PostgreSQLa i ich obsługę za pomocą własnych klas po stronie Javy.
Pozdrawiam!
-- Adam Buraczewski <adamb (at) nor (dot) pl> * Linux user #165585 GCS/TW d- s-:+>+:- a C+++(++++) UL++++$ P++ L++++ E++ W+ N++ o? K w-- O M- V- PS+ !PE Y PGP+ t+ 5 X+ R tv- b+ DI D G++ e+++>++++ h r+>++ y?
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?=
postgresql - int/int
postgresql Select count(*) czy raczej Select count(ID)
[PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?=
[postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?=
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=
[PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?=
Postgres - replikcja master-master
Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL]
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
zanotowane.pldoc.pisz.plpdf.pisz.plautwywalczyl.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|