我有一个在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)
答案 0 :(得分:2)
你能提供额外的代码吗?您的代码没有任何问题,除非您需要确保在下划线后面有一些内容:
email_text = email_text + "<html>" & _
""
- 编辑
感谢发布您的修改。我看到了几个潜在的问题。在您的第二个记录集对象中,您尝试访问rst("supplier")
,但该字段尚未被读取。不使用用于执行connfw.execute(str)
,INSERT
和UPDATE
等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子句中围绕该字段包装单引号。