Ole DB语句在Access中运行,但在Visual Studio中不运行

时间:2012-07-24 18:32:04

标签: sql ms-access oledb

我有以下语句并且它在Access中返回我想要的结果但是在Visual Studio中,我收到错误说“;预期”,可能是什么问题?

var query = "SELECT Count(*) FROM usersTable WHERE (((usersTable.[uDateCreated]) Between DateAdd("d",-2,Now()) And Now()))";

3 个答案:

答案 0 :(得分:2)

您需要在字符串中转义引号:

" .. Between DateAdd(\"d\",-2 .. "
                     ^  ^ escape the quotes

答案 1 :(得分:1)

您在查询中使用引号,该引号结束字符串。在d周围使用撇号代替:

var query = "SELECT Count(*) FROM usersTable WHERE (((usersTable.[uDateCreated]) " & _
    "Between DateAdd('d',-2,Now()) And Now()))"

具体做法是:

DateAdd('d',-2,Now()) 

答案 2 :(得分:0)

我认为你的问题是你的字符串中有“(引号)而没有逃避它们。我不知道你正在使用哪种语言,但对于许多你用\(反斜杠)逃避的语言,那么你的字符串会读取使用DateAdd(\ “d \”,