char -tyyppisen hakukriteerin poiminnan olen toteuttanut koodissa ? -merkillä eli esim. select* from asiakas where nimi like '?'; jossa asiakkaan nimi pyydetään käyttäjältä ja sijoitetaan ? -merkin tilalle mutta
miten date -tyyppisen kentän kanssa tulisi vastaava toteuttaa ? olen kokeillut mm. Asiakas.Laskutusalkupvm = TO_DATE '?','YYYYMMDD')
jossa käyttäjän tulisi antaa esim. 20040801 -arvo mutta ei toimi. Olisiko jollain gurulla vinkkiä ongelmaan?
t,Javatar
miten date -tyyppisen kentän kanssa tulisi vastaava toteuttaa ? olen kokeillut mm. Asiakas.Laskutusalkupvm = TO_DATE '?','YYYYMMDD')
jossa käyttäjän tulisi antaa esim. 20040801 -arvo mutta ei toimi. Olisiko jollain gurulla vinkkiä ongelmaan?
t,Javatar
Vastaukset 1
Vanhimmat
Olen käyttänyt java.sql.Date-luokkaa ja preparedStatement-luokkaa tuollaisiin kyselyihin. String, joka annetaan parametrinä Datelle, pitää muunta muotoon 2004-09-22. Esimerkki:
Connection con.....
PreparedStatement lause;
ResultSet rs;
String sql_str="select * from taulu where pvm = ?";
String paiva="2004-09-22";
java.sql.Date mpvm=java.sql.Date.valueOf(paiva);
lause=con.prepareStatement(sql_str);
lause.setDate(1,mpvm);
rs=lause.executeQuery();