PDA

View Full Version : MySQL e JAVA



Hardcore
29th September 2008, 15:36
Ho un piccolo problema a cui non riesco a saltare fuori per quanto sia scemo...
Devo da un programma java accedere al db e deletare tutti i record che hanno la data odierna.
Il tutto funziona se ordino di fare delle Select * , ma se provo a fare un Delete o un Insert non va...

copio una parte del codice..(il programma si connette perfettamente al db e nn da problemi di sorta)

stmt = con.createStatement();

//Calcolo la data corrente
Date cal= new Date();
String data;
int giorno= cal.getDate();
int mese= cal.getMonth()+1;
int anno=cal.getYear()+1900;
if (mese <10) data=""+giorno+"0"+mese+anno;
else data=""+giorno+mese+anno;

String sql="INSERT INTO autorizzazione values('bv546zj','Matteo','Gazzadi ','"+data+"','30072010')";
System.out.println(sql);
rs=stmt.executeQuery(sql);

/* while (rs.next()){

System.out.println(rs.getString("nome"));
}
*/
per controllo ho messo quel System.out.println(sql)
e questo è l'output che ho

INSERT INTO autorizzazione values('bv546zj','Matteo','Gazzadi ','29092008','30072010')

se da mysql linea di commando controllo non è stato aggiunto nulla..
ma se io copio questa scritta e la avvio da mysql aggiunge il record..
Qualcosa mi sfugge? ci sono operazioni vietate su mysql da client java?

Rise-the-Sky
29th September 2008, 15:45
Per l'insert...la sintassi SQL sarebbe
INSERT INTO *nometabella* (*elenco colonne*) VALUES (*valori*);

Prova a fare l'insert in questo modo.

Per la delete il problema ovviamente non è quello. Per la selezione della data di oggi io cmq fare iaffidamento al CURDATE() del DB stesso, e non mi sbatterei a formattarmi la data via java (che poi magari sbagli l'ordine mese-giorno)

PS: sono oltre 5 anni che ho la fortuna di non lavorare su MySQL, le mie indicazioni vanno prese con le pinze.

Tunnel
29th September 2008, 15:56
c'è la data storta :|
la query di delete come la fai ? ad esempio in sql è semplicemente " delete from autorizzazione where colonna_data >= @var"
bene o male sarà uguale, no ? :/
per l'insert, sempre se è uguale a sql, uppo rise

Bakaras
29th September 2008, 16:36
commit?

Gate
29th September 2008, 17:54
ma se ha detto che copiandola su sql va, evidentemente non sara' un problema di come e' scritta ;D

Hardcore
29th September 2008, 18:20
ma se ha detto che copiandola su sql va, evidentemente non sara' un problema di come e' scritta ;D
le query se metto system.out e copio l'output su sql vanno...

l'unica query che riesco a far andare da java è la select.

Hardcore
29th September 2008, 18:36
ok risolto.
per chi interessasse,

in statement
statement.executeQuery <---Per la Select
statement.executeUpdate <---Per Insert,Update,Delete