Je souhaite insérer la date et l'heure actuelles dans des colonnes définies en tant que type datetime.
J'ai tapé le code suivant:
Java.sql.Date sqlDate = new Java.sql.Date(new Java.util.Date().getTime());
PrepStmt.setDate(1, sqlDate);
Lorsque je vérifie la base de données, je constate que la date est correctement insérée, mais que l'heure est: 00:00:00. Quelle est la solution?
Puisque vous utilisez datetime
comme type de colonne, vous devez utiliser Java.sql.Timestamp
pour stocker votre date et PrepareStatement.setTimestamp
pour l'insérer.
Essayez d'utiliser ceci: -
Java.sql.Timestamp date = new Java.sql.Timestamp(new Java.util.Date().getTime());
PrepStmt.setTimestamp(1, date);
Vous utilisez une mauvaise méthode. Vous pouvez utiliser PreparedStatement#setTimestamp(int parameterIndex,
Timestamp x)
à la place.
Ce que vous devez utiliser est la méthode setTimestamp (int parameterIndex, Timestamp x) au lieu de la méthode setDate ().
Une des façons de définir l’horodatage est la suivante:
Timestamp timestamp = new Timestamp(new Date().getTime());
Vous pouvez ensuite définir le paramètre comme suit:
PrepStmt.setTimestamp(1, timestamp);
On dirait que tu as besoin
Java.sql.Timestamp
Celui que vous utilisez avec Java.sql.Date
concerne uniquement les dates et n’enregistre pas le temps. Sinon, vous pouvez utiliser Java.sql.Time
si vous ne voulez que le temps.
Essayez avec setTimestamp as
PrepStmt.setTimestamp(1, sqlDate);
Java.sql.Timestamp date = new Java.sql.Timestamp(new Java.util.Date().getTime());
PrepStmt.setTimestamp(1, date);
Je l'ai résolu en utilisant ceci ..