вставка datetime в базу данных с использованием Java - PullRequest
4 голосов
/ 05 июня 2010

Я хочу вставить datetime в базу данных MySql, используя Java и подготовленный оператор:

Calendar cal = Calendar.getInstance();
PreparedStatement stmnt = db.PreparedStatement("INSERT INTO Run " +
                       "(Time) VALUE (?) ");
    stmnt.setDate(1, new java.sql.Date(cal.getTime()));
    stmnt.executeQuery();  

ПРИМЕЧАНИЕ: в настоящее время произошла ошибка - не удается найти строку 4 символа (java.sql.Date) здесь

db - это своего рода класс-оболочка, который предоставляет то, что мне нужно из java.sql, - это просто получение подготовленного выражения из моего объекта соединения здесь.

Время (столбец) - это дата в моей базе данных, и я вижу только методы setDate и setTime, но я хочу сохранить и то и другое - мой код все равно не работает; -)

Если бы кто-нибудь мог дать мне несколько советов по вставке комбинированного времени даты (текущее время было бы очень полезно, поскольку это моя первая цель) в БД MySql, используя подготовленное утверждение, я был бы очень признателен.

Спасибо

Ответы [ 2 ]

5 голосов
/ 05 июня 2010

Конструктор для java.sql.Date занимает много времени (миллисекунды с 1970 года) java.sql.Date Чтобы получить миллисекунды из java.uitl.Calendar, вы используете cal.getTimeInMillis()

Ваш код будет:

Calendar cal = Calendar.getInstance();
PreparedStatement stmnt = db.PreparedStatement("INSERT INTO Run " + "(Time) VALUE (?) ");
stmnt.setDate(1, new java.sql.Date(cal.getTimeInMillis()));
stmnt.executeQuery();
2 голосов
/ 05 июня 2010

следующий код должен позволять вам вставлять дату с точностью до миллисекунды. Я использовал его с HSQLDB, Sybase, SQL-Server и MySql без каких-либо проблем.

java.util.Date date = getMyDate();
if (date == null) {
    statement.setNull(insertionIndex, Types.TIMESTAMP);
} else {
    statement.setTimestamp(insertionIndex, new Timestamp (date.getTime()));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...