2012-01-18 2 views
0

J'ai besoin de mettre à jour la base de données MySQL à partir de Java. En particulier, j'ai besoin de mettre à jour le champ horaire appelé 't_field'.Mettre à jour le champ d'heure dans la base de données MySQL à partir de Java

CREATE TABLE IF NOT EXISTS `TimeTest` (
    `id` SMALLINT NOT NULL AUTO_INCREMENT, 
    `t_field` TIME NOT NULL, 
    `resQty` INT(3) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

Comment puis-je utiliser le symbole " dans la chaîne à écrire l'instruction UPDATE si JAVA?

String query = "UPDATE TimeTest SET t_field = "00:05" WHERE id=1"; // sure, it does not work 
+0

avez-vous essayé d'utiliser barre oblique inverse avant "? – Zohaib

Répondre

1

usage unique citation

String query = "UPDATE TimeTest SET t_field = '00:05' WHERE id=1"; 

ou

String query = "UPDATE TimeTest SET t_field = \"00:05\" WHERE id=1"; 
1

éviter de se fier sur la représentation externe du temps utilisé par votre base de données, qui peut varier en fonction de la base de données, paramètres régionaux et . Au lieu de cela, utilisez une déclaration préparée:

String query = "update TimeTest set t_field = ? where id = 1"; 
PreparedStatement stmt = cnx.prepareStatement(query); 
Time time = Time.valueOf("00:05:00"); 
stmt.setTime(1, time); 
stmt.executeUpdate(); 

Cela pourrait ressembler à un détail pour les temps, mais quand vous aurez à faire avec les dates ou horodatages, il deviendra beaucoup plus important.

1

occasion \"

String query = "UPDATE TimeTest SET t_field = \"00:05\" WHERE id=1"; 
Questions connexes