oracle中Date类型的值,为什么时间部分传不回来???
在oracle数据库中有一条记录有一个Date类型的值,包括日期和时间,如
23-11月-88 20:25
但是我查询到该值后显示出来的却只有日期部分,为什么呢??
代码部分如下:
DataSource ds=longkou.db.listener.DataSourcePoolListener.getDataSource();
try{
Connection conn=ds.getConnection();
java.sql.Statement st=conn.createStatement();
java.sql.ResultSet rs=st.executeQuery("Select * from db_container Where container_no='12345678920'");
while(rs.next()){
jTextArea1.setText(""+rs.getDate("date_container_state"));
}
}catch(SQLException ex){
System.out.println(ex.toString());
}
问题点数:50、回复次数:9Top
1 楼javahui(阶级斗争要年年讲,月月讲,天天讲。)回复于 2003-08-01 15:07:56 得分 10
rs.getDate()返回的是一个javax.sql.Date类型的对象,其超类是java.util.Date。(不知道对了没,凭记忆)
然后使用SimpleDateFormatter对其进行格式化。Top
2 楼FrankGui(Frank)回复于 2003-08-01 15:11:50 得分 10
你使用的OracleJDBC驱动程序有问题,我以前遇到过,更换吧Top
3 楼luckyfanjian(luckyfan)回复于 2003-08-01 15:13:42 得分 10
不可能,你这样写试试
System.out.println(rs.getDate("date_constainer_state"));
应该会全部打印出来的!除非你的数据库的设计有问题!Top
4 楼Gemini_h(双子)回复于 2003-08-01 15:24:40 得分 0
to FrankGui(Frank):
你说的OracleJDBC有问题,能具体说明一下吗?是版本的问题,还是其他?我用的是9i的数据库
to luckyfanjian(luckyfan) :
请教你一下,你指的数据库设计有问题,是指的什么??另外,我用System.out.println(rs.getDate("date_constainer_state"));是一样的情况
to javahui(阶级斗争要年年讲,月月讲,天天讲。) :
用SimpleDateFormatter对起格式化也没有用,日期部分正常,但针对时间部分的格式hh:mm,得到了系统默认的时间12:00,而不是数据库里的值
希望各位帮帮忙
Top
5 楼Nepalon(大头)回复于 2003-08-01 15:45:52 得分 10
SQL用select TO_CHAR(date_constainer_state,'YYYY-MM-DD HH-MM-SS') time FROM table;,直接把DATE字段以String的形式取得;然后用rs.getString("time"));Top
6 楼formalin(福尔马林)回复于 2003-08-01 16:07:54 得分 10
同意楼上的,应该先格式化再取出来。Top
7 楼FrankGui(Frank)回复于 2003-08-01 16:28:27 得分 0
你下载一个DataDirect的通用JDBC驱动程序后,使用相同的代码试试就知道是否2驱动程序的问题了
(www.datadirect.com)
或者干脆使用SUn的JDBC-ODBC桥试试Top
8 楼zez(思恩 闭关练功ing...)回复于 2003-08-01 17:45:44 得分 0
首先你的数据库里有 小时分钟吗/????
------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
Top
9 楼Gemini_h(双子)回复于 2003-08-01 19:21:51 得分 0
当然有小时分钟,在oracle Manager中可以看到Top



