我正在尝试将当前日期和时间插入到 MS-SQL 数据库中的变量中。我使用这种格式:
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal.getTime()));
结果我得到了这个 2013-01-28 09:29:37.941
我在数据库中的字段已定义datetime
,正如我在其他具有相同字段的表中看到的那样,日期和时间的写法与 2011-07-05 14:18:33.000 完全相同。
我尝试使用在 java 程序中执行的查询插入数据库,但出现此错误
SQL 异常:状态:S0003 消息:varchar 数据类型到值的日期时间数据类型的转换超出范围。错误:242
我的查询是这样的:
query = "INSERT INTO Companies CreatedOn"+
"VALUES ('" + dateFormat.format(cal.getTime()) + "')"
但我不明白我做错了什么。