日期:2014-05-18  浏览次数:20674 次

sql中datatime和JDBC的时间类型的问题
sqlserver中某字段类型是datatime,然后用JDBC给这字段插入当前时间。
示意代码如下:
Date   date=new   Date();

SimpleDateFormat   sdf   =   new   SimpleDateFormat( "yyyy-mm-dd   HH:mm:ss   ");

插入sql:(语句肯定正确)

ps.setString(1,sdf.format(date.getTime()));

但是执行后报告异常。我把字段类型改成char就正常了。但是如果是char的话,我要对字段中的时间值进行计算,是不是就方便了?

------解决方案--------------------
插入到数据库的时候需要to_date一下吧
------解决方案--------------------
ps.setTimestamp(1,new java.sql.Timestamp(date.getTime()))
------解决方案--------------------
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-mm-dd HH:mm:ss ");

你写错了,月份的“m”应该采用大写“M”。小写的表示分钟。
------解决方案--------------------
m应该大写!同意楼上.
------解决方案--------------------
Date date=new Date();
to_date( ' "+ date+ " ', 'yyyy-mm-dd HH:mm:ss ')
------解决方案--------------------
直接在数据库里面
convert(varchar(19),getdate(),20)
....
------解决方案--------------------
请问我要将“yyyy-MM-dd HH:mm:ss "字符串通过JDBC写入SQL中datatime字段,而不是取当前时间,应该怎么做?