经典的asp查询没有按用户名连接到Microsoft Access数据库进行排序

时间:2015-07-06 14:41:05

标签: asp-classic

我正在使用经典的asp遇到一个奇怪的事情。我继承了一个用连接到Microsoft Access数据库的经典asp编写的应用程序。我正在编辑Adobe Dreamweaver中的代码。在我试图查询的表中,它包含2个字段:ID和用户名。 asp页面上的字段包括月份,年份和用户名。如果我查询ID字段,则查询显示正确,并且用户名字段按ID显示。但是,如果我尝试按用户名排序查询,则无法正常显示。相反,它根本不显示用户名。

当我想按ID订购时,经典的asp代码如下工作:

rstDATA.open "SELECT username FROM [c-names] order by ID", cnn, adLockReadOnly 

当我想订购时,经典的asp代码如下工作 用户名不起作用:

rstDATA.open "SELECT username FROM [c-names] order by username", cnn, adLockReadOnly

奇怪的是,如果我在Microsoft Access中运行SQL查询,它可以工作:

SELECT [c-names].[username] FROM [c-names] ORDER BY [c-names].[username];

我尝试将代码粘贴到经典的asp页面中,但它也没有用。

有谁知道它为什么不起作用?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

这不是"奇怪的部分",它应该是这样的。

如果您使用保留字作为字段名称,则必须在brasket' []'中使用字段名称。

https://support.microsoft.com/en-us/kb/826763

  

替代方法

     

要解决此问题,请勿使用特殊字符。   如果必须在查询表达式中使用特殊字符,请将其括起来   括号中的特殊字符([])。例如,如果要使用   大于号(>),请使用[>]。