1

我正在编写一个查询,该查询必须计算参加一门课程的学生人数,我这样做的方式是这样的:

DCount("[student/course table].[Student ID]","[student/course table]","[StartDate] = #" & [Course Start Date] & "# AND Location = '" & tblCourseDetails.Location & "' AND [Course Number] = '" & [Course Number] & "'")

问题是 Location 可以包含撇号,这会给我的结果带来错误。这似乎搞砸了很多事情(比如它要求我输入两次参数)。有什么简单的方法可以绕过撇号吗?我在想也许使用 Replace()=Replace() 这将是一个非常简单的解决方案,但是如果还有其他方法可以解决这个问题,我想知道。

我不太担心 SQL 注入。要使用此查询,无论如何您都可以访问数据库。

这不是我的全部查询,如果您认为我应该发布它,请告诉我。

4

1 回答 1

3

您需要添加一个转义字符。对于访问,我相信它是 '' for '。

所以找到并用 '' 替换'',你应该很高兴。

编辑:这是一个额外的撇号,而不是双引号。

Replace(tblCourseDetails.Location, "'", "''")
于 2010-07-13T17:35:06.720 回答