0

我有一个在 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)
4

1 回答 1

2

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

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

- 编辑

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

尝试类似:

supplier = ""

rst.open str, connfw

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

rst.close

然后在您的第二个 sql 语句中使用供应商。此外,如果合格供应商表中的供应商字段是字符串,则需要在 where 子句中将该字段用单引号括起来。

于 2013-01-10T19:59:12.777 回答