数据库中保存的是Date类型的数据("2008-1-26 上午 10:00:58"),我想要在查询的时候得到的是Timestamp类型要怎么弄。
我原来的代码是直接查询,先用rs.getObject();取数据,然后转换为Timestamp类型,在别人的电脑上是可以的,但是在我自己的电脑上转换不了。
而且我打印数据显示得到的数据是("2008-1-26")后面的数据没有,但在别人的电脑上查询出的是("2008-1-26 上午 10:00:58"),这是为什么?
数据库使用的是oracle
如果你要问为何的话..那应该就是JDK版本的问题 还有JDBC驱动都对比一下..
截取下
http://topic.csdn.net/u/20080210/22/cf63122a-e97a-4446-a9b4-3a3df9f295f8.html
rs.getObject(“--这里是什么类型的?--”);
请使用rs.getTimestamp(1, Calendar.getInstance().get(
Calendar.YEAR) - 1900, Calendar.getInstance().get(
Calendar.MONTH), Calendar.getInstance().get(
Calendar.DATE), Calendar.getInstance().get(
Calendar.HOUR), Calendar.getInstance().get(
Calendar.MINUTE), Calendar.getInstance().get(
Calendar.SECOND), 0));
[quote]我是通过列的下表值获得数据的rs.getObject(下标值);[/quote]
你那个下标值对应的实际类型是什么? 你和别人机器上用的数据库是一个么?
SQL上加上to_timestamp
你是用getObject()方法得到一个Object对象,然后通过强制转换得到 TimeStamp 对象,在这个转换过程中,由于你们平台的版本不同,导致了这种现象。这是我个人的观点仅供参考。如果不对,请指教。