У меня проблемы с получением запросов из базы данных SQL. Я могу получить взорванные вещи , добавленные в базу данных, но у меня непомерное количество трудностей при выполнении обратного. Три вещи по порядку:
Сама таблица SQL:
CREATE TABLE patientInstructions (
id INT UNSIGNED AUTO_INCREMENT,
lastUpdated datetime NOT NULL,
PatientID BIGINT UNSIGNED NOT NULL,
HCPID BIGINT UNSIGNED NOT NULL,
OVid BIGINT UNSIGNED NOT NULL,
urlLink VARCHAR(250) NOT NULL,
linkInstructions VARCHAR(500) NOT NULL,
linkName VARCHAR(100) NOT NULL,
PRIMARY KEY (id)
) AUTO_INCREMENT=1 ENGINE=MyISAM;
Сбой вызова метода (я получаю -1L вместо фактического значения данных, хранящегося в базе данных, поэтому я знаю, что, во-первых, существует проблема):
public String getLastUpdated(long ovID) throws DBException {
try {
return psiDAO.getLastUpdated(ovID);
} catch (myOwnException e) {
e.printStackTrace();
return "-1L";
}
}
И, наконец, сбой вызова метода:
public String getLastUpdated(long ovId) throws DBException {
Connection conn = null;
PreparedStatement ps = null;
try {
conn = factory.getConnection();
ps = conn.prepareStatement("SELECT * FROM patientInstructions"
+ " WHERE ovId=?");
ps.setLong(1, ovId);
ResultSet rs = ps.executeQuery();
java.util.Date updated = new java.util.Date();
updated = rs.getTime("lastUpdated");
return updated.toString();
} catch (SQLException e) {
e.printStackTrace();
throw new DBException(e);
} finally {
DBUtil.closeConnection(conn, ps);
}
}
Какой объект Java соответствует SQL Datetime? Я пробовал rs.getTimestamp, rs.getDate и т. Д., Но больше не добился успеха (хотя я не исключаю, что я их тоже испортил). Я делаю ошибку, перенося данные из набора результатов обратно в объект Java?