Zminky se nesesly mozna i proto, ze se snazili resit jenom aktualni stav
+ to ze nebyl dostatecny popis. Oznacit nejaka chyba, ... je k nicemu. To
podle me neznamena ze Ti lide prepared statement nikdy nepouzivali. Pokud
by slo o jeden z prvnich kroku tak takto asi zacinal kazdy. A pak se z
tech dotazu osypal a zacal ty PreparedStatementy pouzivat.
Jinak samozrejme ze je nejlepsi pouzit bud prepared statement, nebo nejaky
ORM. O tom tady myslim nikdo nepochybuje.
Pekny den
Pet
On Thu, 21 Dec 2006 17:46:16 +0100, Podlesak Kamil
<[EMAIL PROTECTED]> wrote:
Zdravim,
Jedine spravne reseni je pouzit PreparedStatement:
Date b = new java.sql.Timestamp(System.currentTimeMillis());
String sql = "SELECT * FROM tasks WHERE id_user=? WHERE datum_splneni
<= ? ORDER BY datum_vlozeni ASC";
PreparedStatement stmt = dbConn.prepareStatement(sql);
stmt.setString(1, id_user);
stmt.setDate(2, b);
Nejenom ze to bude fungovat na MySQL, ale i na vsech ostatnich
databazich.
A jako bonus nebude mit nahodny navstevnik otevreny pristup do databaze!
(SQL Injection)
Neodpustim si poznamku:
Plaintextove sestavovani SQL (navic bez escapovani) je zcela bezna
zacatecnicka chyba. Kazdy z nas tim prosel.
Ale ze se na tento dotaz sesly hned tri odpovedi bez jedine zminky o
PreparedStatement, to je docela... prekvapive.
-----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.
--
Kamil "podlesh" Podlesak
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/