经典ASP奇怪的SQL错误

时间:2012-08-09 14:53:25

标签: sql ms-access asp-classic odbc database-connection

我正在使用以下Conn String连接到Access DB

Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=\\server\share\Data\PFWTRAN.MDB"

以下SQL工作正常;

SQLIn =     "SELECT Date, Time " & _
            "FROM Transactions " & _
            "WHERE TokenNumber = " & TokenNo & " " & _
            "AND Date >= " & FromDateG & " " & _
            "AND Direction = -1 " & _               
            "ORDER BY Date, TransactionNumber;"

但是,我想要在Transactions.Exception = 0的行,但是当我添加此AND条件时,脚本在打开RS时失败;

error '80004005' /path/.../.../...asp, line 97

如果我删除AND条件,它会再次起作用。

即使我尝试在SELECT部分​​中设置'Exception',它也不会运行并给我错误。

为什么包含一个字段会导致这样的错误?我读错误是由于权限,但我的权限很好,因为SQL没有这一个字段。

任何线索?

这是一个非常古老的Access 95数据库(甚至更早),或许我需要更改提供的连接?

1 个答案:

答案 0 :(得分:1)

但是,我想要Transaction.Exception = 0的行,但是当我添加此AND条件时,脚本在打开RS时失败

但是Transaction.Exception引用的是与查询使用的表不同的表。

FROM Transactions

DateTimeExceptionProblem names and reserved words in Access。将这些名称括在方括号中,或用表名/别名作为前缀。

考虑切换您的方法以使用参数查询...并将其作为参数提供TokenNoFromDateG值,而不是将其值构建到SELECT语句中。