错误'80020009' - 但我不在查询中

时间:2013-01-10 19:53:58

标签: sql asp-classic

我有一个在ASP下订单的系统,当提交订单时,通知电子邮件就会消失。

当我提交订单时,我收到错误'80020009',它指向的行是:

email_text = email_text & "<html>" & _

这是一个简单的行,刚刚开始构建填充电子邮件的html字符串!是不是错误'80020009'应该是SQL语句?或者我错过了什么?

页面仍然继续并完成订单处理,它只是首先显示错误消息。

我意识到这个问题并没有提供太多细节,但我不知道还有什么要说明的,我只是不知所措。

编辑:这是一些从该行开始的几行SQL。不知道这会如何导致这个问题,因为它告诉我它在那个电子邮件行上,但它扔进去也不会有害:

str = "SELECT creation_date, supplier FROM argus.PURCHASE_ORDER WHERE purchase_order = '" & Trim(Request.Form("order_id")) & "' AND customer = '" & Session("customer_id") & "' AND store = '" & Session("store_id") & "' AND userid = '" & Session("user_id") & "'"
            Set rst = ConnFW.Execute(str)
            str2 = "SELECT a.store_name, a.address1, a.address2, a.city, a.state_cd, a.zipcode, b.customer_name, c.supplier_account FROM argus.STORE a, argus.CUSTOMER b, argus.ELIGIBLE_SUPPLIER c WHERE a.customer = b.customer AND a.customer = c.customer AND a.store = " & Session("store_id") & " AND b.customer = " & Session("customer_id") & " AND c.supplier = " & Trim(rst("supplier")) & ""
            Set rst2 = ConnFW.Execute(str2)

1 个答案:

答案 0 :(得分:2)

你能提供额外的代码吗?您的代码没有任何问题,除非您需要确保在下划线后面有一些内容:

email_text = email_text + "<html>" & _
               ""

- 编辑

感谢发布您的修改。我看到了几个潜在的问题。在您的第二个记录集对象中,您尝试访问rst("supplier"),但该字段尚未被读取。不使用用于执行connfw.execute(str)INSERTUPDATE等sql语句的DELETE,而是使用与rst.open一起使用的SELECT

尝试类似:

supplier = ""

rst.open str, connfw

if not rst.eof then
   supplier = rst("supplier")
end if

rst.close

然后在第二个sql语句中使用supplier。此外,如果qualified_supplier表中的供应商字段是字符串,则需要在where子句中围绕该字段包装单引号。