Ответ 1
Попробуйте использовать setTimestamp вместо setDate, поскольку временная метка является предпочтительным форматом данных и времени.
Я использовал следующий код, но поле DateTime в SQL представлено как:
2005-04-08 00:00:00
Я тоже хочу иметь время. что я должен изменить?
Вот мой код ниже:
// Get the system date and time.
java.util.Date utilDate = new Date();
// Convert it to java.sql.Date
java.sql.Date date = new java.sql.Date(utilDate.getTime());
...
...
...
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setDate(1, date);
Попробуйте использовать setTimestamp вместо setDate, поскольку временная метка является предпочтительным форматом данных и времени.
вы можете установить Timestamp import java.sql.Timestamp;
stmt.setTimestamp(1, new Timestamp(System.currentTimeMillis()));
вместо
stmt.setDate(1, date);
o/p будет: 2014-05-16 08: 34: 52.977
установите ваш DB -column как временную метку.
Попробуйте следующее:
Connection con;
Statement stmt;
con = DriverManager.getConnection(url, username, password);
stmt = con.createStatement();
stmt.executeUpdate("INSERT INTO MYTABLE(time) " +
"VALUES ('" + new java.sql.Date(System.CurrentTimeMillis())"');");
Используйте функцию sql now().
INSERT INTO table date_field VALUES(NOW());
Я бы не стал искать текущее время в Java, просто дайте базе данных выполнить задание:
String sql = "insert into some_table (some_column, timestamp_column) values (?, current_timestamp)";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setInt(1, 42);
stmt.executeUpdate();
Попробуйте использовать setDate (utilDate) вместо того, чтобы пытаться установить дату SQL. В SQL даты и время представляют собой разные типы данных.
Я сделал следующее:
con = new BDConesion(); //Conexion with de DB
Connection cn = con.conexion()
PreparedStatement st = null;
st = cn.prepareStatement("INSERT INTO TABLE (Id,Fecha,contendido) VALUES(?,?,?)");
st.setString(1,String.valueOf(key)); //convert the int to string
st.setTimestamp(2, new Timestamp(System.currentTimeMillis()));
st.setString(3,Cont);//Cont it is a varible string
st.executeUpdate();
Надеюсь, вы будете служить
Фактически, дата в базе данных представляет собой строку типа "yyyy-mm-dd".
Почему бы не попробовать:
String date = "2010-07-28";
stmt.executeUpdate("INSERT INTO MYTABLE(time) " + s);
Это только для даты, которую вы хотите.
Если вы хотите вставить сейчас, используйте команду:
INSERT INTO mytable (now());