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.


Odpovedet emailem