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

jsp将时间插入数据库出错
//获取时间
Calendar   nowTime=   Calendar.getInstance();  
Date   nowDate   =   nowTime.getTime();  


//插入时间到数据库语句
insert   into   TableA(dateTime)   value   (nowDate);  

怎么老出错!查看tomcat里面的logs文件,上面说  
java.sql.SQLException:   [Microsoft][SQLServer   2000   Driver   for   JDBC][SQLServer]从字符串转换为   datetime   时发生语法错误。  
郁闷!换了很多方法写老是一个错误!
获取时间的语句到底怎么写才正确。

------解决方案--------------------
你的数据库中TableA中的 dateTime 的属性是什么啊?多少位啊?
你的SQL语句错了 应该是 values
------解决方案--------------------
java.text.DateFormat df = new java.text.SimpleDateFormat( "yyyyMMdd ");
java.util.Date date = new java.util.Date();
String datestr = df.format(date); //读取系统时间
insert into TableA(dateTime) values (to_date(nowDate, 'yyyymmdd '));
参考一下看看,不知道你是不是这个意思
------解决方案--------------------
写错了应该是
insert into TableA(dateTime) values (to_date(datestr, 'yyyymmdd '));

------解决方案--------------------
你要的什么时间?如果是系统时间,如果还有其他列数据,直接在数据库time列中的默认值里面加上getdate()函数,每添加一条记录会自动获取系统时间添加到time列中。在insert语句中就不再需要去插入系统时间了。
------解决方案--------------------
补充,是你的数据库中的表里面的显示时间的列,比如:time,在设计表的时候,选择到列,列属性中有个默认值
------解决方案--------------------

要将时间格式化,to_char,to_date都可以~~

tdy1234() 的可以~~
------解决方案--------------------
要用java.sql.Date 不要java.util.Date