我正在进行这样的查询:
@" if (" + logic + @")
begin
INSERT INTO [FRIIB].[dbo].[Incidents]
([RecTime]
,[Name]
,[Message])
VALUES
('" + dt.ToString("yyyy/MM/dd hh:mm:ss.fff") + //ODBC : Canonical DT Format
并得到这样的SQL:
if (( 1 = 1 ))
begin
INSERT INTO [FRIIB].[dbo].[Incidents]
([RecTime],[Name],[Message])
VALUES
('2011.02.14 04:30:10.020',
和这样的错误:
无法将varchar转换为日期时间
我该如何解决?我做错了什么?
答案 0 :(得分:1)
关于此的SQL文档位于:Supported String Literal Formats for datetime
所以你可以使用ISO8601(例如:2004-05-23T14:25:10.487),因为,如文档中所述:
使用ISO 8601的优势 格式是它是一个国际化的 标准明确无误 规格。此外,这种格式是 不受SET DATEFORMAT或 SET LANGUAGE设置。
答案 1 :(得分:0)
嘿,你做这样的事情......
java.util.Date dt = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(dt.getDate());
并将此sql Date作为参数传递..