Ms access 在select中合并两列将不起作用

Ms access 在select中合并两列将不起作用,ms-access,coldfusion,ms-access-2007,coldfusion-8,Ms Access,Coldfusion,Ms Access 2007,Coldfusion 8,我需要使用Access 2007和ColdFusion 8在一个简单的select语句中组合来自2列的值。当我在Access中运行查询时,我得到的结果没有问题,但当我将下面的查询放入ColdFusion时,它不会运行: <cfquery name="Maj" datasource="#application.dsn#"> SELECT Majors & " " & GradeLevel FROM Programs WHERE C

我需要使用Access 2007和ColdFusion 8在一个简单的select语句中组合来自2列的值。当我在Access中运行查询时,我得到的结果没有问题,但当我将下面的查询放入ColdFusion时,它不会运行:

    <cfquery name="Maj" datasource="#application.dsn#">
     SELECT Majors & " " & GradeLevel 
     FROM Programs
     WHERE Categories = 'Language'
     ORDER BY Majors
    </cfquery>  
它会产生以下错误:

The following information is meant for the website developer for debugging purposes.
Error Occurred While Processing Request
Error Executing Database Query.

[Macromedia][SequeLink JDBC Driver][ODBC Socket][Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

The error occurred in C:\Inetpub\wwwroot\test.cfm: line 4

    2 : 
    3 : 
    4 :         <cfquery name="Maj" datasource="#application.dsn#">
    5 :         SELECT Majors & " " & GradeLevel 
    6 :         FROM Programs

在专业和年级之间添加的空格周围使用单引号而不是双引号

选择专业和年级级别(&L) 来自程序 其中Categories='Language' 按专业排序 如果下一个问题是如何为该字段表达式添加别名,则当您使用现有字段名作为别名时,Access db引擎可能会反对。通过选择与任何字段名都不匹配的别名来避免该问题

选择“专业”&“年级级别”作为“专业”&“年级级别”
行了,谢谢!但是我不能使用AS,我很难引用这个结果。我不能选择专业和等级级别作为专业谢谢!因此,我只能使用select?中使用的列名以外的名称。通常,使用字段名作为字段表达式的别名会导致Access抱怨递归别名。由于您具有访问权限,因此可以直接在那里测试查询的修订版本,以查看其是否存在对象。在某些数据库中,您可以使用列名作为别名,但如果您希望在where子句中使用该列,您遇到了麻烦。或者只需在专业和年级级别上进行选择,然后在显示代码中连接它们,而不是在数据库调用中。