Je reçois des données d'Oracle avec le jeu de résultats, puis les remplit à cachedrowset
. Mais quand j'obtiens un champ de date dans la base de données et l'imprime, il imprime seulement la date. Je vérifie l'API et je sais que la méthode getDate()
renvoie java.sql.date
, et l'heure de sql.date
est castée à 0. Je vérifie que si j'appelle resultset.getString("datefield")
, il peut obtenir des données complètes de date et heure, donc est-il possible d'obtenir la date et l'heure entière données à l'aide cahcedrowset
, grâceComment puis-je obtenir des données complètes de date et d'heure lors de l'utilisation du champ caché du champ de date Oracle
voici mon code source
CachedRowSet rs = null;
try {
rs = executeQuery("select * from t_web_order_result ");
if (rs != null && rs.next()) {
KKLog.info(rs.getDate("stime"));//2012-04-24,it should be 2012-04-24 09:23:33
KKLog.info(rs.getString("stime"));
}
} catch (SQLException e) {
logErr("queryCheckers Err", e);
} finally {
closeCachedRowset(rs);
}
méthode executeQuery
CachedRowSet rowset = null;
Connection connection = null;
PreparedStatement statement = null;
ResultSet rs = null;
try {
connection = getConnection();
statement = connection.prepareStatement(sql);
for (int i = 0; i < params.length; i ++) {
statement.setObject(i + 1, params[i]);
}
rs = statement.executeQuery();
rowset = new CachedRowSetImpl();
rowset.populate(rs);
rs.close();
statement.close();
} finally {
//close....
}
return rowset;
i utilisé trois méthode pour imprimer le journal
KKLog.info(rs.getDate("stime"));
KKLog.info(rs.getString("stime"));
KKLog.info(rs.getTimestamp("stime"));
et le contenu du journal est
12-11-11 17:06:11 2012-04-24
12-11-11 17:06:11 2012-04-24
12-11-11 17:06:11 2012-04-24 00:00:00.0
merci, je l'ai utilisé comme ça, mais il imprime 2012-04-24 00:00 : 00.0 – Jadic
@Jadic Et en passant quel pilote utilisez-vous? – user75ponic
oracle.jdbc.OracleDriver, et j'utilise ojdbc14.jar – Jadic