2010-06-28 102 views
0

我不断收到一个不匹配的错误这条线:VB不匹配错误

UPDATE tblLunchTime SET [End] = '06/28/2010 9:41:34 AM' WHERE Start = '06/28/2010 9:41:31 AM' 

有谁知道为什么吗?

编辑:添加其他代码。

'Save end time in database. 
Dim strValuesQuery As String 

strValuesQuery = _ 
    "UPDATE tblLunchTime " & _ 
    "SET [End] = '" & Now & "' " & _ 
    "WHERE Start = '" & StartTime & "' " 

'Execute Query. 
DoCmd.RunSQL strValuesQuery 
+0

您可以发布用于执行该语句的代码.... – 2010-06-28 13:48:58

+0

已添加代码。 – BioXhazard 2010-06-28 13:54:20

回答

1

我最终以允许它在需要的方式进行格式化添加英镑符号到我的变量:

strValuesQuery = _ 
    "UPDATE tblLunchTime " & _ 
    "SET EndTime = #" & Now & "# " & _ 
    "WHERE StartTime = #" & StartTime & "#" 
+0

#是Jet/ACE SQL中日期的分隔符。 – 2010-07-01 01:54:34

0

你执行这个查询到SQLSERVER,甲骨文?

在客户端和服务器端是相同的语言吗?

使用日期字符串和字符串日期需要特定的格式转换。

对于Oracle:结束时间= TO_DATE( '2010/01/05', 'YYYY/MM/DD')

这避免了语言失配。

我总是使用参数。

“UPDATE tblLunchTime SET EndTime =?WHERE StartTime =?” - 对于OleDb

参数避免一些错误,并且还提高性能(服务器缓存游标)。

+0

你有没有读标签? – 2010-07-08 02:52:25