Dobrý den,
nebo si napište vlastní implementaci třídy, která to přeloží do formátu
srozumitelného SQL databázi, kterou používáte, nějak takhle:
/**
* Dostane objekt Date a převede jej na datum, jemuž rozumí SQL
* server Firebird, tedy yyyy-mm-dd
* @author xzajic
*
*/
public class SQLDate {
/**
* Vrací formátované datum
* @param datum - datum, jež potřebujeme zformátovat
* @return - číselná reprezentace data - například "2005-08-09"
*/
public static String get(Date datum) {
StringBuffer buffer = new StringBuffer("'");
buffer.append(new SimpleDateFormat("yyyy-MM-dd").format(datum));
buffer.append("'");
return buffer.toString();
}
/**
* Vrací formátované datum
* @param gc - kalendář obsahující datum, jež potřebujeme zformátovat
* @return - číselná reprezentace data - například "2005-08-09"
*/
public static String get(GregorianCalendar gc) {
Date datum = gc.getTime();
StringBuffer buffer = new StringBuffer("'");
buffer.append(new SimpleDateFormat("yyyy-MM-dd").format(datum));
buffer.append("'");
return buffer.toString();
}
}
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Behalf Of Michal Davídek
Sent: Thursday, December 21, 2006 5:10 PM
To: [email protected]
Subject: OT: mysql a java
Zdravím, mám začátečnický dotaz.
mám v mysql tabulku se sloupcem datum, formát nastaven na "DATE".
(formátuje to takhle: 2006-12-21)
potřebuji z tabulky vybrat záznamy, které mají DATE menší než třeba
dnešní datum, ale nedaří se mi to.
prikazy:
Date b =new Timestamp(new Date().getTime());
String sql = "SELECT * FROM tasks WHERE id_user='" +id_user+ "'
WHERE datum_splneni <= "+b+" ORDER BY datum_vlozeni ASC";
vim, ze to bude tim nastaveni Date b; ale nevim, jak z toho mam
vytáhnout údaj, který by mysql akceptoval, takhle to pořád hází nějaké
errors.
poradíte? díky. M.